Italia
Fonte/ 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 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  
 



Wo kriege ich dies dateien her per 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, corre 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
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  
 




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.205 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