Veröffentlicht 9. April 200322 j Hi, ich habe ca. 100 Bilder (verschiedene Größen) in einem Ordner und möchte in jedes dieser Bilder einen Text schreiben, der im rechten unteren Eck erscheinen soll. Benutze VC 7.0, MFC und GDI+ Thx für jede Hilfe !
13. April 200322 j Wobei brauchst du denn Hilfe? Weißt du nicht, wie man die Dateien durchgeht, oder geht es um den Text? Das sollte mit Graphics::DrawString machbar sein.
13. April 200322 j Autor ja das hab ich schon probiert aber dann überschreibt er das bild mit dem text
13. April 200322 j Original geschrieben von Scratch ja das hab ich schon probiert aber dann überschreibt er das bild mit dem text Ist das denn nicht das, was du willst? Wenn der gemalte Text nicht den Bildinhalt überschreibt, sieht man den Text doch nicht. :confused:
13. April 200322 j Autor Nein sorry war vielleicht schlecht gesagt ... dann steht nur noch der Text da und das Bild ist weg ... Und ich will ja das das Bild bleibt und der Text darin steht. USES_CONVERSION; Image* image = new Image(T2W(filename)); Bitmap* image2 = new Bitmap(sizex, sizey, image->GetPixelFormat()); Graphics graphics(image2); graphics.DrawImage(image, 0, 0, sizex, sizey); if(m_bText) { FontFamily fontFamily(L"Times New Roman"); Font font(&fontFamily, 24, FontStyleRegular, UnitPixel); PointF pointF(10.0f, 10.0f); SolidBrush solidBrush(Color(128, 128, 128, 128)); graphics.DrawString(L"HALLO", -1, &font, pointF, &solidBrush); } Ach und m_bText ist 1 ich habs mit der MessageBox geprüft. Das ist mein momentaner Testansatz aber vom Text ist NICHTs zu sehen.
13. April 200322 j Original geschrieben von Scratch SolidBrush solidBrush(Color(128, 128, 128, 128)); ... Das ist mein momentaner Testansatz aber vom Text ist NICHTs zu sehen. Je nach Bitmap kann ein halbtransparenter, grauer Text schwer zu erkennen sein. Mach den Text doch mal gelb und deckend: SolidBrush solidBrush(Color(255, 255, 255, 0));
13. April 200322 j Autor Nein vom Text ist nichts zu sehen, auch nicht wenn ich ihn gelb und deckend mache.
13. April 200322 j Es könnte an einem ungültigen Pixelformat liegen. Der Graphics-ctor Graphics::Graphics(Image*) schlägt bei den folgenden Pixelformaten fehl: PixelFormatUndefined PixelFormatDontCare PixelFormat1bppIndexed PixelFormat4bppIndexed PixelFormat8bppIndexed PixelFormat16bppGrayScale PixelFormat16bppARGB1555 Du kannst das testen, indem du nach dem Erzeugen des Graphics-Objekts den Status prüfst: Status s = graphics.GetLastStatus(); Wenn dabei nicht Null (bzw. Ok) rauskommt, hat es nicht geklappt. Dann kannst du versuchen, einfach mal ein anderes Format vorzugeben.
13. April 200322 j Autor Es Steht jedes mal NULL in s ich habs auch schon mit vorgegebenem PixelFormat probiert -> PixelFormat24bppRGB
14. April 200322 j Autor Ahhhhh, sorry es ging die ganze Zeit ... ich hab das falsche Bild gespeichert ... Thx trotzdem !
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.