Deutsch
Quelltexte/ Codesnippets

Bild Drehen Gdiplus Image Jpg Rotation Speichern

 
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 für 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  
 



Wo kriege ich dies dateien her für GDIPlus?

mfg

$H includes\Functions_GDIPLUS.ph
$H includes\GDIP_Imageging.ph
$I includes\GDIP_Helper.inc
 
15.02.2009  
 



Stimmt, die fehlen hier  [...]  .
 
15.02.2009  
 



Hallo ich habe diese Demo jetzt geladen.
Der Hund wird schön als Sprite dargestellt, wo die Farbe weiss durchsichtig ist. Diesen Wert habe ich auf auf :Single(1.0) gestellt.

Wenn ich nun mit Paintshop die 1.wmf als 2.wmf abspeichere, ist das weiss nicht mehr durchsichtig beim darstellen.
Wie kommt das?
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare gdiplusToken&,ImageObject&,ImageObject1&,GraphicObject&,Attributes&
Declare Color_Matrix#
CLS ~GetSysColor(~COLOR_3DFACE)
gdiplusToken& = InitGDIPlus()GDIPlus starten
Farb-Matrix aufbauen 5 X 5 SingleFloat-Werte
Dim Color_Matrix#,4*(5*5)
Long Color_Matrix#,0  = Single(1.0),Single(0),Single(0),Single(0),Single(0)rot
Long Color_Matrix#,20 = Single(0),Single(1.0),Single(0),Single(0),Single(0)grün
Long Color_Matrix#,40 = Single(0),Single(0),Single(1.0),Single(0),Single(0)blau
zum Testen den Wert 4 (0.6) verändern
Long Color_Matrix#,60 = Single(0),Single(0),Single(0),Single(1.0),Single(0)alpha
Long Color_Matrix#,80 = Single(0),Single(0),Single(0),Single(0),Single(1.0)
Bild laden
ImageObject& = gdipLoadImage(eisbaer.jpg) Pfad anpassen
ImageObject1& = gdipLoadImage(2.wmf) Pfad anpassen

If ImageObject&

    und auf %hWnd zeichnen
    ~GdipCreateFromHWND(%hWnd,ADDR(GraphicObject&))alle Graphics-Operationen auf %hWnd
    Bild 1 zeichnen
    ~GdipDrawImageI(GraphicObject&,ImageObject&,120,0)Bitmap zeichnen
    Attribute anlegen
    ~GdipCreateImageAttributes(Addr(Attributes&))
    Color_Matrix zu den Attributen
    ~GdipSetImageAttributesColorMatrix(Attributes&,~ColorAdjustTypeDefault,1,Color_Matrix#,0,~ColorAdjustTypeDefault)
    Bild2 mit Attributen zeichnen
    ~GdipDrawImageRectRect(GraphicObject&,ImageObject1&,0.0,0.0,Single(400.0),Single(400.0),0.0,0.0,Single(400.0),Single(400.0),~UnitPixel,Attributes&,0,0)
    ~GdipDisposeImageAttributes(Attributes&)
    ~GdipDisposeImage(ImageObject&)
    ~GdipDisposeImage(ImageObject1&)
    ~GdipDeleteGraphics(GraphicObject&)
    Dispose Color_Matrix#

Endif

Waitinput
ExitGDIPlus(gdiplusToken&) GDIPlus beenden
End
 
15.02.2009  
 



Bitte zunächst  [...]  auffüllen.
 
15.02.2009  
 



was soll ich da auffüllen...........
 
15.02.2009  
 



Die GDI+ gibts bei Microsoft.  [...] 
Download erfordert allerdings Validation der Rechtmässigkeit.
 
15.02.2009  
 



Habe die jetzt schon geladen, läuft alles soweit.

Mir geht es nur um die Frage: warum ist die 2.wmf nicht durchsichtig?

mfg
 
15.02.2009  
 



Peter Bierbachh
was soll ich da auffüllen...........


Öhm, hast die Headerdateien auffindig machen können?
 
16.02.2009  
 



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
Ladeanzahl205
Herunterladen
 
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  
 




Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

28.244 Betrachtungen

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