Italia
Fonte/ Codesnippets

Einzelbildern Multipage Ocx Per Tiff Wia

 

Uwe
''Pascal''
Niemeier
Hi Leute!

Hier eine Möglichkeit, circa 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 per 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 File (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 grande 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 Include ocx3a.inc und ocxInfo3a.inc mal als "ständig wichtige Include" Include angepinnt:  [...] 
 
16.11.2011  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

10.347 Views

Untitledvor 0 min.
Walter13.01.2023
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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