Scratch Geschrieben 9. April 2003 Geschrieben 9. April 2003 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 !
Klotzkopp Geschrieben 13. April 2003 Geschrieben 13. April 2003 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.
Scratch Geschrieben 13. April 2003 Autor Geschrieben 13. April 2003 ja das hab ich schon probiert aber dann überschreibt er das bild mit dem text
Klotzkopp Geschrieben 13. April 2003 Geschrieben 13. April 2003 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:
Scratch Geschrieben 13. April 2003 Autor Geschrieben 13. April 2003 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.
Klotzkopp Geschrieben 13. April 2003 Geschrieben 13. April 2003 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));
Scratch Geschrieben 13. April 2003 Autor Geschrieben 13. April 2003 Nein vom Text ist nichts zu sehen, auch nicht wenn ich ihn gelb und deckend mache.
Klotzkopp Geschrieben 13. April 2003 Geschrieben 13. April 2003 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.
Scratch Geschrieben 13. April 2003 Autor Geschrieben 13. April 2003 Es Steht jedes mal NULL in s ich habs auch schon mit vorgegebenem PixelFormat probiert -> PixelFormat24bppRGB
Scratch Geschrieben 14. April 2003 Autor Geschrieben 14. April 2003 Ahhhhh, sorry es ging die ganze Zeit ... ich hab das falsche Bild gespeichert ... Thx trotzdem !
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden