Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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 !

Geschrieben
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:
Geschrieben

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.

Geschrieben
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));

Geschrieben

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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...