GDI+
-
Ok, also wenn du den neunten Beitrag hier gefolgt bist: http://www.c-plusplus.net/forum/viewtopic.php?t=87764&highlight=gdi
müsstest du dann noch eigentlich die gdiplus.lib datei bei dir einfügen. mach es wie es im dort irgendwo erwähnt wurde, mit dem implib oder so, und füge es zu deinem Projekt hinzu.
-
Ok es kommt jetzt immerhin zu Ausführung aber es kommt direkt ein Fehler : Ordnungszahl 629 wurde in der DLL "GDIPLUS.DLL" nicht gefunden

-
Juhuuu habe eine andere Gdiplus.dll verwendet (habe da ca 8 verschiedene auf meinem System) und jetzt geht´s

-
Hmm also der Wert von PaintBox->Canvas->Brush->Color ist zwar auf clWhite gestezt aber lässt sich das nicht auch so machen das er keine Hintergrundfarbe unter das Bild zeichnet damit auch transparente sachen auf belieber Form-farbe sauber aussehen ?
-
Hallo
siehe TBrush->Style = bsClear;
oder TransparentColor bei Bitmapsbis bald
akari
-
Hmm also ich habe das unter obigem Link zu findenen Beispiel mit
GraphicsBitmap->Transparent = true; GraphicsBitmap->TransparentColor = GraphicsBitmap->Canvas->Pixels[0][0];und
PaintBox->Canvas->Brush->Style = bsClear;erweitert dennoch bekomme ich grundsätzlich einen weissen Untergrund unter transparente Bilder

-
Hat da villeicht jemand ein Beispiel indem er das mal gemacht hat oder so ? Hab jetzt so ziemlich alles ausprobiert was mir eingefallen ist...
-
Vielleicht kannst du ja so machen, dass du die Grafik mit der gewollten Hintergrundfarbe malst, dann siehts wenigstens aus es wäre transparent ^^.
Probier außerdem mal auf eine PaintBox zu malen (hast du bestimmt schon), aber bei mir scheints zu klappen.
-
Hmm kannst du mir villeicht deine projekt dateien oder so mal schicken ? ( vande@gmx.net ) Das mit der Painbox habe ich versucht hilft aber nicht. Leider ist der Hintergrund ein Bild ind keine "solid" Farbe, so das ich den Hintergrund des PNGs daraquf setzen könnte....
-
zeig mir doch mal deinen code? sicher dass die png datei richtig ist, bzw. durchsichtig ist und du sie richtig auf die paintbox malst. zeig mir mal deinen "zeichen code", also PaintboxOnPaint glaub ich.
-
Habe mal das Beispiel incl meiner modifikationen und dem PNG hochgeladen: www.op-abi2000.de/gdi.zip
-
Also hab schnell was hingezauber, der folgende Code machts:
bool TForm1::LoadPic(AnsiString PicName) { int L = PicName.WideCharBufSize(); wchar_t *wStr = new wchar_t[L]; PicName.WideChar(wStr, L); Gdiplus::Image* Img = new Gdiplus::Image(wStr); Gdiplus::Graphics gfx(PaintBox->Canvas->Handle); gfx.DrawImage(Img,0,0); delete Img; delete[] wStr; return true; }Initialisier die Gdiplus::Graphics Objekte immer direkt mit den DCs, ich weiß nicht ob das die sauberste und beste Methode ist, aber bei mir machts keine Probleme.
-
Juhuuuu ! Danke ! Endlich geht es !!