Deutsch
Quelltexte/ Codesnippets

Einzelbildern Multipage Ocx Per Tiff Wia

 

Uwe
''Pascal''
Niemeier
Hi Leute!

Hier eine Möglichkeit, über WIA-Objekte aus mehreren Bildern ein Multipage-TIFF zu erstellen:
window 600,600
 $H Windows.ph
 $H ocx3a.ph
 $I ocx3a.inc
 $I ocxInfo3a.inc
ocxInit()
'
def $wiaFormatTIFF "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}"'--CLSID-Konstante für TIFF-Format
'
var Pic1$="C:\1Test\Bild1.gif"'--Existierende Bilder
var Pic2$="C:\1Test\Bild2.gif"'--Pfade bitte anpassen!
var Pic3$="C:\1Test\Bild3.gif"'--Bildtypen sind egal
'
var Ziel$="C:\1Test\Bild.tiff"'--Anzulegende Datei (darf noch nicht existieren)
'
var Page1&=ocxCreate("WIA.ImageFile")'--ImageObjekte
var Page2&=ocxCreate("WIA.ImageFile")
var Page3&=ocxCreate("WIA.ImageFile")
'
ocxMethod(Page1&,"LoadFile",Pic1$)'----Bilder laden
ocxMethod(Page2&,"LoadFile",Pic2$)
ocxMethod(Page3&,"LoadFile",Pic3$)
'
var ImageProcess&=ocxCreate("WIA.ImageProcess")'-------ImageProcess-Objekt
var Filters&=ocxGet(ImageProcess&,"Filters")'----------Aktive Filter (noch leer)
var FilterInfos&=ocxGet(ImageProcess&,"FilterInfos")'--Verfügbare Filter
'
'--------------------------------------------------------------------Filter auswählen
declare FilterInfo&,ID$
'
FilterInfo&=ocxGet(FilterInfos&,"Item","Frame")'----Infos zu "Frame"-Filter
ID$=ocxGet(FilterInfo&,"FilterID")'-----------------ID davon
ocxMethod(Filters&,"Add",ID$)'----------------------1. Filter "Frame" zu aktiven Filtern hinzufügen
ocxMethod(Filters&,"Add",ID$)'----------------------2. Filter "Frame" zu aktiven Filtern hinzufügen
ocxRelease(FilterInfo&)
'
FilterInfo&=ocxGet(FilterInfos&,"Item","Convert")'--Infos zu "Convert"-Filter
ID$=ocxGet(FilterInfo&,"FilterID")'-----------------ID davon
ocxMethod(Filters&,"Add",ID$)'----------------------3. Filter "Convert" zu aktiven Filtern hinzufügen
ocxRelease(FilterInfo&)
'
ocxRelease(FilterInfos&)
'
'--------------------------------------------------------------------Filter-Parameter setzen
declare Filter&,Property&
'
Filter&=ocxGet(Filters&,"Item",1)'-------------------Filter 1 ("Frame")
Property&=ocxGet(Filter&,"Properties","ImageFile")'--Eigenschaft "ImageFile"
ocxPut(Property&,"Value",Page2&)'--------------------Auf Page 2 setzen
ocxRelease(Property&,Filter&)
'
Filter&=ocxGet(Filters&,"Item",2)'-------------------Filter 2 ("Frame")
Property&=ocxGet(Filter&,"Properties","ImageFile")'--Eigenschaft "ImageFile"
ocxPut(Property&,"Value",Page3&)'--------------------Auf Page 3 setzen
ocxRelease(Property&,Filter&)
'
Filter&=ocxGet(Filters&,"Item",3)'-------------------Filter 3 ("Convert")
Property&=ocxGet(Filter&,"Properties","FormatID")'---Eigenschaft "FormatID"
ocxPut(Property&,"Value",$wiaFormatTIFF)'------------Auf CLSID von TIFF setzen
ocxRelease(Property&,Filter&)
'
'--------------------------------------------------------------------Filter anwenden + speichern
var Image&=ocxMethod(ImageProcess&,"Apply",Page1&)'--Auf Page 1 anwenden > Neues Image-Objekt
ocxMethod(Image&,"SaveFile",Ziel$)'------------------Speichern
'
ocxRelease(Page3&,Page2&,Page1&)'-----------Aufräumen
ocxRelease(Image&,ImageProcess&,Filters&)'--Aufräumen
ocxDeInit()
'
print "Fertig"
waitkey

Hinweis: Für den Convert-Filter lassen sich theoretisch verschiedene Kompressionsverfahren einstellen; in der Praxis werden aber nur "LZW" (Standart) oder "Uncompressed" unterstützt; kann aber auch systemabhängig sein.

SeeYou
Pascal

Edit: Schreibfehler im Code korrigiert
 
16.11.2011  
 




Dieter
Zornow
So ganz funktioniert es bei mir leider nicht. Ich habe 3 gleich große JPG Bilder. Es wird ein 3 Bilder Tiff erstellt, aber das 2. wird 2 mal eingefügt und das 3. gar nicht. Habe es mit mehreren Bildern versucht, an den Bildern liegt es nicht.
 
XProfan X2
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
16.11.2011  
 




Uwe
''Pascal''
Niemeier
Hi Dieter!

Schreibfehler meinerseits

Dem 1. und 2. Filter wurde das gleiche Bild (Page 2) zugeordnet.
Fehler im Code ist nun korrigiert!

SeeYou
Pascal
 
16.11.2011  
 



Habe die Includes ocx3a.inc und ocxInfo3a.inc mal als "ständig wichtige Includes" Includes angepinnt:  [...] 
 
16.11.2011  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.310 Betrachtungen

Unbenanntvor 0 min.
Walter13.01.2023
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie