Français
Forum

Erledigt: Grafikbild avec GDI zeichnen

 
voudrais un bild&, wohin je une ligne number reingezeichnet habe avec dem GDI-Befehl einlesen et wieder comme nouveau Bild avec GDI daneben zeichnen. cela Musterbild lieu je à gauche avec startpaint hwin& dar.

Klappt pas.

wohin liegt qui faute?

mfg
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
declare hwin&,bild&,ende%,bmp_gdi&,GraphicObject&
hWin& = Create(Window, %hWnd, Test, 250, 20, 650,500)
bild&=create(hnewpic,128,128,$ffffff)
startpaint bild&
line 10,10-120,120
endpaint
startpaint hwin&
drawpic bild&,10,10,0
endpaint
~GdipCreateBitmapFromHBITMAP(bild&, 0, Bmp_gdi&)
~GdipCreateFromHDC(%hdc,ADDR(GraphicObject&))
~GdipDrawImageI(GraphicObject&,bmp_gdi&,200,10)
~GdipDeleteGraphics(GraphicObject&)
06.05.2009  
 



chez solchen Sujets musst Du toujours gaaanz le son



appeler - il beherrscht cela magistral.

(en je n'en sais rien hab...)
 
06.05.2009  
 



Woooooo ist andreas?

Hilf mir la fois s'il te plaît plus avec qui Grafik dans GDI.

mfg
 
06.05.2009  
 




Andreas
Miethe


Ok ok, suis oui déjà là .
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
declare hwin&,bild&,ende%,bmp_gdi&,GraphicObject&
hWin& = Create(Window, %hWnd, Test, 250, 20, 650,500)
bild&=create(hnewpic,128,128,$ffffff)
startpaint bild&
line 10,10-120,120
endpaint
startpaint hwin&
drawpic bild&,10,10,0
endpaint
#########
Hier ist Fehler No. 1
var gdiplusToken& = InitGDIPlus()GDIPlus starten
vergessen ?
##########
~GdipCreateBitmapFromHBITMAP(bild&,0,addr(Bmp_gdi&))
#########
Hier ist Fehler No. 2
~GdipCreateFromHwnd(hwin&,ADDR(GraphicObject&))
###########
~GdipDrawImageI(GraphicObject&,bmp_gdi&,200,10)
~GdipDeleteGraphics(GraphicObject&)
waitinput
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
07.05.2009  
 



Jup, merci.
Klappt wunderbar avec dem Bild.

mfg
 
07.05.2009  
 



allô Andreas, il me faut encore einmal deine Aider.
j'ai un Bild hpic& gezeichnet.
cet transportiere je avec dem Gdi dans qui hbitmap& et zeige es à.

eh bien voudrais je cela hpic& auparavant rotieren laisser um den Mittelpunkt et ensuite seulement dans qui hbitmap& apporter.

comment allez cela?

mfg
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare hPic&,hwin&,lngImage&,hBitmap&
Window 20,20-200,200
hWin& = Create(Window, %hWnd, Test, 250, 20, 650,500)
InitGDIPlus()
hbitmap&=create(hnewpic,255,255,$ffffff)
hpic&=create(hnewpic,128,128,$ffffff)
startpaint hpic&
line 10,10-120,120
endpaint
~GdipCreateBitmapFromHBITMAP(hPic&,0,@Addr(lngImage&))
~GdipCreateHBITMAPFromBitmap(lngImage&,@Addr(hBitmap&))
startpaint hwin&
DrawPic hBitmap&,50,50;0
endpaint
WaitInput
DeleteObject hPic&
DeleteObject hBitmap&
~GdipDisposeImage(lngImage&)
Fin
 
08.05.2009  
 




Andreas
Miethe


2peter Bierbach, Beitrag=52209, Zeitpunkt=08.05.2009
allô Andreas, il me faut encore einmal deine Aider.
j'ai un Bild hpic& gezeichnet.
cet transportiere je avec dem Gdi dans qui hbitmap& et zeige es à.

eh bien voudrais je cela hpic& auparavant rotieren laisser um den Mittelpunkt et ensuite seulement dans qui hbitmap& apporter.

comment allez cela?


là musste je mich aussi erstmal malain faire.
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare hPic&,hwin&,lngImage&,hBitmap&
Window 20,20-200,200
hWin& = Create(Window, %hWnd, Test, 250, 20, 650,500)
Var gdiplusToken& = InitGDIPlus()GDIPlus starten
hpic&=create(hnewpic,128,128,$ffffff)
Var ImWidth& = %BmpX  Breite und
Var ImHeight& = %BmpY Höhe sichern, brauchen wir zum Berechnen
startpaint hpic&
Rectangle 0,0-4,4
line 10,10-120,120
endpaint
Diagonale berechnen, hier kann ich endlich mal was mit dem
Satz des Pythagoras anfangen !
Var Dig& = Sqrt(Sqr(ImWidth&) + Sqr(ImHeight&)) Diagonale ( a²+b² = c² ) die Wurzel von c² ist die Diagonale
hbitmap&=create(hnewpic,Dig&,Dig&,0)
~GdipCreateBitmapFromHBITMAP(hPic&,0,@Addr(lngImage&))
StartPaint hBitmap&
Var Imagedc& = 0
~GdipCreateFromhDC(%hdc,ADDR(ImageDC&))
~GdipRotateWorldTransform(ImageDc&,Single(225.0),1)=45 Grad nach rechts
~GdipTranslateWorldTransform(ImageDc&,Single(Dig&/2),Single(Dig&/2),1)
~GdipDrawImageRectI(ImageDc&,lngImage&,ImWidth&/2,ImHeight&/2,-ImWidth&,-ImHeight&)
EndPaint
startpaint hwin&
DrawPic hBitmap&,0,0;0
DrawPic hPic&,180,180;0
endpaint
WaitInput
DeleteObject hPic&
DeleteObject hBitmap&
~GdipDeleteGraphics(ImageDc&)
~GdipDisposeImage(lngImage&)
ExitGDIPlus(gdiplusToken&) GDIPlus beenden
Fin
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
09.05.2009  
 



Jup, merci. Dreht sich wunderbar dans qui Bitmap.
merci.

mfg
 
09.05.2009  
 



So, dreht sich wunderbar.
seulement ist cela gesamte Viereck pas Transparent quoique je -1 là stehen habe.
qui la couleur $ff00ff habe je comme Hintergrund vergeben.

Irgendwo mus qui faute son de mir?

qui weiss plus?

mfg
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare hPic&,hwin&,lngImage&,hBitmap&
Window 20,20-200,200
hWin& = Create(Window, %hWnd, Test, 250, 20, 650,500)
Var gdiplusToken& = InitGDIPlus()
hpic&=create(hnewpic,128,128,$ff00ff)
Var ImWidth& = %BmpX
Var ImHeight& = %BmpY
startpaint hpic&
line 10,10-120,120
endpaint
Var Dig& = Sqrt(Sqr(ImWidth&) + Sqr(ImHeight&))
hbitmap&=create(hnewpic,Dig&,Dig&,$ff00ff)
~GdipCreateBitmapFromHBITMAP(hPic&,0,@Addr(lngImage&))
Var Imagedc& = 0

WhileLoop 0,180,2

    StartPaint hBitmap&
    ~GdipCreateFromhDC(%hdc,ADDR(ImageDC&))
    ~GdipRotateWorldTransform(ImageDc&,single(&loop),1)
    ~GdipTranslateWorldTransform(ImageDc&,Single(Dig&/2),Single(Dig&/2),1)
    ~GdipDrawImageRectI(ImageDc&,lngImage&,ImWidth&/2,ImHeight&/2,-ImWidth&,-ImHeight&)
    EndPaint
    startpaint hwin&
    DrawPic hBitmap&,100,100;-1,$ff00ff
    endpaint

endwhile

WaitInput
DeleteObject hPic&
DeleteObject hBitmap&
~GdipDeleteGraphics(ImageDc&)
~GdipDisposeImage(lngImage&)
ExitGDIPlus(gdiplusToken&)
Fin
 
09.05.2009  
 




Andreas
Miethe


cela peux so pas marcher, là hPic& pas transparent gezeichnet wird, seulement hBitmap&

là musst Du déjà qui la couleur des Fensters benutzen.
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare hPic&,hwin&,lngImage&,hBitmap&
Window 20,20-200,200
hWin& = Create(Window, %hWnd, Test, 250, 20, 650,500)
Var gdiplusToken& = InitGDIPlus()
hpic&=create(hnewpic,128,128,~GetSysColor(~COLOR_BTNFACE))
Var ImWidth& = %BmpX
Var ImHeight& = %BmpY
startpaint hpic&
line 10,10-120,120
endpaint
Var Dig& = Sqrt(Sqr(ImWidth&) + Sqr(ImHeight&))
hbitmap&=create(hnewpic,Dig&,Dig&,~GetSysColor(~COLOR_BTNFACE))
~GdipCreateBitmapFromHBITMAP(hPic&,0,@Addr(lngImage&))
Var Imagedc& = 0

WhileLoop 0,180,2

    StartPaint hBitmap&
    ~GdipCreateFromhDC(%hdc,ADDR(ImageDC&))
    ~GdipRotateWorldTransform(ImageDc&,single(&loop),1)
    ~GdipTranslateWorldTransform(ImageDc&,Single(Dig&/2),Single(Dig&/2),1)
    ~GdipDrawImageRectI(ImageDc&,lngImage&,ImWidth&/2,ImHeight&/2,-ImWidth&,-ImHeight&)
    EndPaint
    startpaint hwin&
    DrawPic hBitmap&,100,100;-1,~GetSysColor(~COLOR_BTNFACE)
    endpaint

endwhile

WaitInput
DeleteObject hPic&
DeleteObject hBitmap&
~GdipDeleteGraphics(ImageDc&)
~GdipDisposeImage(lngImage&)
ExitGDIPlus(gdiplusToken&)
Fin
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
09.05.2009  
 



merci pour deine Mühe.

Habe maintenant cet encore zwischengefügt :
hbitmap1&

maintenant ist cela GDI-Viereck Transparent. Habe weiss comme Transparent pris.
Es hat mais quelques weisse la dent(qui ligne number), qui pas partir. comment peux on cet im vorigen hbitmap1& verfeinern avec GDI-Befehlen?

comme Muster habe je un Rechteck là hintergelegt.
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare hPic&,hwin&,lngImage&,hBitmap&,pixel&,hBitmap1&,hpic1&
Window 20,20-200,200
hWin& = Create(Window, %hWnd, Test, 250, 20, 650,500)
Var gdiplusToken& = InitGDIPlus()
hpic1&=create(hnewpic,128,128,$0000ff)
hpic&=create(hnewpic,128,128,$ffffff)
Var ImWidth& = %BmpX
Var ImHeight& = %BmpY
startpaint hpic&
UsePen 1,2,RGB(0,0,255)
line 10,10-120,120
endpaint
Var Dig& = Sqrt(Sqr(ImWidth&) + Sqr(ImHeight&))
hbitmap&=create(hnewpic,Dig&,Dig&,$ffffff)
hbitmap1&=create(hnewpic,Dig&,Dig&,$ffffff)
~GdipCreateBitmapFromHBITMAP(hPic&,0,@Addr(lngImage&))
Var Imagedc& = 0
startpaint hwin&
DrawPic hpic1&,80,80;0
endpaint

WhileLoop 0,180,10

    StartPaint hbitmap&
    ~GdipCreateFromhDC(%hdc,ADDR(ImageDC&))
    ~GdipRotateWorldTransform(ImageDc&,single(&loop),1)
    ~GdipTranslateWorldTransform(ImageDc&,Single(Dig&/2),Single(Dig&/2),1)
    ~GdipDrawImageRectI(ImageDc&,lngImage&,ImWidth&/2,ImHeight&/2,-ImWidth&,-ImHeight&)
    EndPaint
    StartPaint hbitmap1&
    DrawPic hBitmap&,0,0;-1
    endpaint
    startpaint hwin&
    DrawPic hBitmap1&,100,100;-1
    endpaint
    sleep 100

endwhile

WaitInput
DeleteObject hPic&
DeleteObject hBitmap&
~GdipDeleteGraphics(ImageDc&)
~GdipDisposeImage(lngImage&)
ExitGDIPlus(gdiplusToken&)
Fin

mfg
 
09.05.2009  
 




Andreas
Miethe


Probier cela la fois !
KompilierenMarqueSéparation
 $H windows.ph
 $H includes\Functions_GDIPLUS.ph
 $H includes\GDIP_Imageging.ph
 $I includes\GDIP_Helper.inc
Declare hPic&,hwin&,lngImage&,hBitmap&
Window 20,20-200,200
hWin& = Create(Window, %hWnd, Test, 450, 20, 650,500)
Var gdiplusToken& = InitGDIPlus()
hpic&=create(hnewpic,128,128,$ffffff)
Var ImWidth& = %BmpX
Var ImHeight& = %BmpY
startpaint hpic&
line 10,10-120,120
endpaint
Var Dig& = Sqrt(Sqr(ImWidth&) + Sqr(ImHeight&))
hbitmap&=create(hnewpic,Dig&,Dig&,$ffffff)
~GdipCreateBitmapFromHBITMAP(hPic&,0,@Addr(lngImage&))
Var Imagedc& = 0
temporäres DC und Bitmap erzeugen
##################################
Var TempDC& =  ~CreateCompatibleDC(%hdc)
Var TempBmp& = ~CreateCompatibleBitmap(%hdc,Dig&,Dig&)
~SelectObject(TempDC&,TempBmp&)
~SetStretchBltMode(TempDC&,~COLORONCOLOR)
##################################
Speicherbitmap zur sicherung des Hintergrundes
##################################
mcls Dig&,Dig&
StartPaint -1
~BitBlt(%hdc,0,0,Dig&,dig&,~GetDC(hWin&),100,100,~srccopy)
EndPaint
##################################

WhileLoop 0,180,2

    TempDC& =  ~CreateCompatibleDC(%hdc)
    TempBmp& = ~CreateCompatibleBitmap(%hdc,Dig&,Dig&)
    ~SelectObject(TempDC&,TempBmp&)
    StartPaint hBitmap&
    ~GdipCreateFromhDC(%hdc,ADDR(ImageDC&))
    ~GdipRotateWorldTransform(ImageDc&,single(&loop),1)
    ~GdipTranslateWorldTransform(ImageDc&,Single(Dig&/2),Single(Dig&/2),1)
    ~GdipDrawImageRectI(ImageDc&,lngImage&,ImWidth&/2,ImHeight&/2,-ImWidth&,-ImHeight&)
    EndPaint
    hBitmap transparent in TempBitmap kopieren
    ##################################
    StartPaint hBitmap&
    ~TransparentBlt(TempDC&,0,0,Dig&,Dig&,%hdc,0,0,Dig&,Dig&,$ffffff)
    ~DeleteDC(TempDC&)
    endpaint
    ##################################
    temporäres Bitmap anzeigen
    ##################################
    startpaint hWin&
    mCopyBmp 0,0-Dig&,Dig&>100,100;0
    DrawPic TempBmp&,100,100;-1
    endpaint
    ##################################
    ~DeleteObject(TempBmp&)

endwhile

WaitInput
DeleteObject hPic&
DeleteObject hBitmap&
~GdipDeleteGraphics(ImageDc&)
~GdipDisposeImage(lngImage&)
ExitGDIPlus(gdiplusToken&)
ass=s4 href='./../../funktionsreferenzen/XProfan/end/'>Fin
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
09.05.2009  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.919 Views

Untitledvor 0 min.
ByteAttack02.10.2015
iF11.05.2015
Tommy16.03.2015
Ernst26.05.2014
plus...

Themeninformationen

cet Thema hat 3 participant:

unbekannt (9x)
Andreas Miethe (6x)
iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie