Italia
Fonte/ Codesnippets

Bild Drehen Gdiplus Image Jpg Rotation Speichern

 
- Page 1 -


Siehe auch: Drehen ohne GDI+:  [...] 
Dank an Andreas Miethe!
Beispiel :
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare gdiplusToken&,ImageObject&,GraphicObject&,ImageWidth&,ImageHeight&
Declare SIO&,DC&,BMP&,Brush&
CLS ~GetSysColor(~COLOR_3DFACE)
gdiplusToken& = InitGDIPlus()GDIPlus starten
Bild laden
ImageObject& = gdipLoadImage(eisbaer.jpg) Pfad anpassen

If ImageObject&

    ~GdipGetImageWidth(ImageObject&,ADDR(ImageWidth&))Breite ermitteln
    ~GdipGetImageHeight(ImageObject&,ADDR(ImageHeight&))Hoehe ermitteln
    DC& = ~CreateCompatibleDC(%hdc)SpeicherDC
    Breite und Höhe errechnet sich aus der Bilddiagonalen
    BMP& = ~CreateCompatibleBitmap(%hdc,INT(Sqrt((ImageWidth&^2)+(ImageHeight&^2))),INT(Sqr t((ImageWidth&^2)+(ImageHeight&^2))))Speicherbitmap
    Brush& = ~CreateSolidBrush(RGB(0,0,0))Brush
    ~SelectObject(DC&,BMP&)Speicherbitmap in SpeicherDC
    ~SelectObject(DC&,Brush&)Brush per SpeicherDC
    ~Rectangle(DC&,0,0,491,491)Rechteck zeichnen
    ~GdipCreateFromHDC(DC&,ADDR(GraphicObject&))Graphics-von SpeicherDC
    ~GdipRotateWorldTransform(GraphicObject&,Single(45.0),1)Rotation setzen
    ~GdipDrawImageRectI(GraphicObject&,ImageObject&,(ImageHeight&/2),-(ImageHeight&/ 2),ImageWidth&,ImageHeight&)
    ~GdipCreateBitmapFromHBITMAP(BMP&,0,Addr(SIO&))Image von Speicherbitmap
    SaveAsJPG(SIO&,AX.jpg,30) Image speichern
    aufräumen
    ~GdipDeleteGraphics(GraphicObject&)
    ~GdipDisposeImage(ImageObject&)
    ~GdipDisposeImage(SIO&)
    ~DeleteObject(BMP&)
    ~DeleteObject(Brush&)
    ~DeleteDC(DC&)

Endif

Print Fertig
Waitinput
ExitGDIPlus(gdiplusToken&) GDIPlus beenden
End
Salve, iF.
 
16.11.2005  
 



 
- Page 1 -


Die habe ich in diese Demo gefunden mit der ich jetzt auch meine experiemente mache.
Weiss aber nicht ob alle Befehle von der GDI enthalten sind.

mfg

505 kB
Hochgeladen:16.02.2009
Downloadcounter205
Download
 
16.02.2009  
 



Sag mir lieber, wie ich die wmf-datei durchsichtig abspeichern kann mit Paintshop.
 
16.02.2009  
 




E.T.
@Peter: Kann denn .wmf überhaupt transparent ??
Hab eben mal durch div. Programm geschaut, keines bietet .wmf-speichern mit transparenz an.
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
16.02.2009  
 



 
- Page 2 -


Hallo!

Eine mögliche Antwort zur Frage Transparent Windows metafile (WMF) findet man auf
[...] 

Zit. sinngemäß: Theoretisch geht das schon, in der Praxis kennen wir aber kein Tool, mit dem das einfach geht. Daher gibt es zwei mögliche Ansätze:

1. Wandle parallel zu deiner Ausgangsbitmap eine Transparenzmaske mit in das wmf Metafile, und benutze ensprechende Bitmap-Operationen, bevor du die Bilddatei wirklich anzeigst.
Zitat: I dont know of any program that can do approach number 1., also: der Autor kennt kein Programm das das kann... oder

2. Vektorisiere das Bild und entferne dann alle Bildteile mit Hintergrundfarbe.
Nutze daszu ein Vektorisierungsprogramm, um ins Metafile Format zu konvertieren.
Dann nutze ein Programm wie z.B. * Metafile Companion, um die Hintergrundfärbigen Elemente zu löschen.

Weitere Porgramme, die das können, sind (angeblich)
* HiJaak Pro von IMSI oder
* Adobe Illustrator von Adobe
* KVEC from KK-Software kann das nachgewiesenermaßen auch recht gut, hat aber sehr viele Optionen, nicht nur per WMF. Gibts per Windows und viele andere Plattformen.
Zit.Ende

Naja.. direkte Aiuto wars keine, aber naja, jeder tutet was er kann...

Gruss
Peter Specht
 
16.02.2009  
 




E.T.
Ohne mir jetzt die Demo anzuschauen: Muss es denn wmf sein ??
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
16.02.2009  
 



]Muss es denn wmf sein ??

Wenn einer weiss wie man mit GDI-Plus auch eine png con canale alfa als durchsichtig einladen kann? Wäre auch ne Lösung.
Mit dem WMF kann ich ein Bild circa das andere legen und man sieht die hinteren Figuren ohne das diese vom Viereck verdeckt werden.
 
17.02.2009  
 




Thomas
Freier
Das Beispiel von Andreas zeigt nur, dass auch *.wmf verwendet werden können. Vermutlich aber in *.bmp umgewandelt werden. Nicht getestet: speichern als *.gif.
Da die *.wmf vektorisiert ist, ist es kein Problem mit einer entsprechenden Sofware dieses Bild in seine Linien und Flächen zu zerlegen und alle nicht gefärbten Bereiche bleiben transparent(Beispiel). Geladen in un Bildverarbeitung, wird automatisch ein Hintergrund erzeugt. Wird das Bild (hier der Hund) circa IrfanView als *.png oder *.gif transparent gespeichert, so wird die als transparent gewählte Farbe auch Bereiche im Hund transparent darstellen, obwohl hier z.B.: weisse Flächen erhalten bleiben sollen. Eine Möglichkeit: den Hund auf einen farbigen Hintergrund (die Farbe darf dann aber im Hund nicht vorkommen) kopieren und eine *.png oder *.gif erstellen.
Aiuto XProfan 11:


XProfan supportati ab Version 11 auf das MetaFile-Format. Es wird sowohl das ältere Format (Windows MetaFile *.wmf) als auch das neuere erweiterte Format (Enhanced MetaFile *.emf) erkannt.

Mit Create(hPic,..) und anderen Bitmapbefehlen können zwar auch Metafiles (*.wmf und *.emf) geladen werden, allerdings werden hier die Grafiken in Bitmaps umgewandelt, die die Originalgröße der urspünglichen Metafiles haben. Das ist auch weiterhin sinnvoll, wenn man von Grafiken, die als Metafiles vorliegen, ein Bitmaphandle necessario, etwa um sie in Toolbars oder auf Buttons zu verwenden.

MetaFiles sind aber keine Bitmaps, sondern lediglich Befehlsfolgen, um Grafiken zu zeichnen, so wie es z.B. auch bei Vektororientierten Grafikprogrammen, wie etwa CAD und Publikations-Software üblich ist. Da die Grafiken in beliebiger Dimensione gezeichnet werden können, bleiben Sie auch scharf, wenn sie größer gezeichnet werden, als die Ursprungsgröße war. Bei Bitmaps hingegen werden bei Vergrößerung nur die Pixel größer und deutlicher sichtbar.

Mit @create(hMetaFile wird ein MetaFile wird geladen und das entsprechende Handle zurückgeliefert. Nach Gebrauch muss das Handle wieder mit DeleteObject entsorgt werden. Die alten Windows-MetaFiles (*.wmf) werden automatisch in die neueren Enhanced MetaFiles umgewandelt. Die Systemvariablen %MFX und %MFY enthalten die ursprüngliche Dimensione der Grafik. Das MetaFile wird auf den Bildschirm (oder Drucker) mit dem Befehl PlayMetaFile gezeichnet.


36 kB
Hochgeladen:17.02.2009
Downloadcounter257
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
17.02.2009  
 




Rolf
Koch
Ich weis zwar nicht ob das jetzt irgendwie passt, aber das Format PNG ist neben GIF auch transparentfähig.
 
17.02.2009  
 



Ich weis zwar nicht ob das jetzt irgendwie passt, aber das Format PNG ist neben GIF auch transparentfähig

Sehr interessant.

Zeig mir jetzt dann eben mal, wie ich das in GDIPlus realisiere?

mfg
 
17.02.2009  
 




Thomas
Freier
Also den Einsatz einer *.gif oder *.png an Stelle der *.wmf ?

41 kB
Hochgeladen:17.02.2009
Downloadcounter249
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
17.02.2009  
 



So, danke. jetzt funktioniert es.

Die GIF und PNG müssen 8Bit-Farben sein. Und der Kanal dafür muss in Paintshop auf Transparent gestellt werden.

Das hatte ich nicht geschnallt.

Jetzt laufen auch meine eigenen Bilder.

mfg
 
17.02.2009  
 



Siehe auch: Drehen ohne GDI+: [...] 
 
08.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

28.157 Views

Untitledvor 0 min.
Thomas Freier16.02.2024
H.Brill27.09.2023
Uwe Lang19.09.2023
p.specht13.06.2022
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