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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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