Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo an alle Zeichner!


CImage img;


CImage img.Load("Bild.jpg");


CDC *pDC=CDC::FromHandle(img.GetDC());


//keine weitere Bearbeitung oder pDC->DrawText()


img.Save("NeuBild.jpg");


img.ReleaseDC();

Beim Laden hat das Bild eine Auflösung von 420x420. Beim Speichern aber 1748x1748.

Die Bilder haben beide 96 DPI.

Warum wird die Auflösung geändert ohne dass ich was dazu tun muss bzw. was kann ich dagegen tun?

VC++ 2003, Konsole-Programm

Geschrieben

Kann ich nicht reproduzieren. Das gespeicherte Bild hat dieselbe Größe (in Pixel) wie das Quellbild.

Das Problem steckt vermutlich in dem Code, den du hier weggelassen hast.

Und wenn da keine weitere Bearbeitung stattfindet, warum brauchst du einen DC? ;)

Geschrieben (bearbeitet)

Dann mal hier etwas vom Rest, Text zeichnen:


CDC *pDC=0;


int main()

 {

  CImage img;


  img.Load("Bild.jpg")


  pDC=CDC::FromHandle(img.GetDC());


  CRect rect; //hier wird der Output-Bereich festgelegt


  rect.top=150;


  rect.left=550;


  rect.bottom=rect.top+60;


  rect.right=rect.left+800;


  DrawText("Text", 48, rect); //hier muss ich die Schriftgröße ziemlich groß wählen, da sie sonst auf dem neuen Bild kaum zu erkennen ist.


  img.Save("NeuBild.jpg");


  img.ReleaseDC();

 }//end int main();


void DrawText(CString Text, CRect rect, int hoehe);

 {

  CFont font;

  LOGFONT lFont;


  ZeroMemory(&lFont, sizeof(LOGFONT));


  lFont.lfHeight=hoehe;


  lFont.lfWeight=FW_EXTRABOLD;


  strcpy(lFont.lfFaceName, "Verdana");


  VERIFY(font.CreateFontIndirect(&lFont));


  CFont* def_font=pDC->SelectObject(&font);


  pDC->DrawText(Text, Text.GetLength(), rect, DT_VCENTER|DT_END_ELLIPSIS|DT_LEFT|DT_NOFULLWIDTHCHARBREAK|DT_WORDBREAK);


  font.DeleteObject();

 }//end void DrawText()

Bearbeitet von Narf!
Geschrieben

Narf!, wenn du schon nicht den echten Code zeigst, sondern ein Beispiel zusammenklöppelst, dann prüf doch bitte vorher, dass dieses Beispiel kompilierbar ist und vor allem das Problem auch reproduziert. ;)

Geschrieben

Ach Mensch! :old

Man sollte natürlich darauf achten, dass man auch das richtige Basis-Bild lädt.:upps

Also die Maße bleiben gleich, wie schon erwähnt.

Ich denke mal, man kann das Thema löschen, oder?

  • 1 Monat später...

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...