![]() |
gedruckte Grafik total verpixelt und verschwommen
Hallo zusammen,
habe zwar nun geschafft, dass die Grafik gedruckt wird, was auch soweit ganz gut ist, jedoch ist die Grafik total verpixelt und verschwommen nach dem Druck. Die Bitmap datei ist allerdings in Ordnung. Hier mal der Quellcode mit dem ich das Drucken leite:
Delphi-Quellcode:
Kann mir jemand sagen, weshalb das so verpixelt und verschwommen gedruckt wird??
procedure PrintImage(iLeft, iTop: integer; Img: TImage);
var GraphicRect: TRect; begin iLeft := iLeft * 8; iTop := iTop * 8; ZeroMemory(@GraphicRect, SizeOf(GraphicRect)); GraphicRect.Right:= Img.Picture.Graphic.Width; GraphicRect.Bottom:= Img.Picture.Graphic.Height; if Form2.PrintDialog1.Execute then begin printer.begindoc; printer.Canvas.CopyRect(Rect(iLeft, iTop, iLeft+ GraphicRect.Right* 10, iTop+ GraphicRect.Bottom* 10), Img.Canvas, GraphicRect); printer.enddoc; end; end; procedure TForm2.Button14Click(Sender: TObject); begin Image1.Picture.loadfromfile(ExtractFilePath(Application.ExeName) + 'MyPic.bmp'); PrintImage(200,20,image1); end; Danke schonmal! Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Hallo,
Hat denn niemand eine Lösung für mein Problem hier?? Würde mich freuen, wenn jemand antworten würde und das vielleicht helfen würde ... Danke schonmal, für eure bemühungen eine Lösung zu finden. Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Da du nix besonderes im Code machst, würde ich einfach darauf tippen, dass deine Grafik zu niedrig aufgelöst ist.
|
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Liegts vielleicht am Drucker? Andere ausgedruckte Bilder (bzw. mit anderen Programmen ausgedruckte) sehen normal aus?
|
Re: gedruckte Grafik total verpixelt und verschwommen
Und das Verkleinern wird auch der Grund sein wieso das Bild so verwurstelt aussieht nach
dem Drucken. ;) Das es sich bei dem Bild um eine 32Bit -Bitmap handelt is egal, die Grösse ist wichtig. Das Bild vergrössert du ja dann auch noch in der Printfunktion.
Code:
printer.Canvas.CopyRect(Rect(iLeft, iTop, iLeft+ GraphicRect.Right[color=#ff0000]* 10[/color], iTop+ GraphicRect.Bottom[color=#ff0000]* 10[/color]), Img.Canvas, GraphicRect);
|
Re: gedruckte Grafik total verpixelt und verschwommen
CopyRect stretched das Bild ohne Verwendung von Halftone. Daher auch das verpixeln.
|
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
|
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Zitat:
Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Danke schonmal! Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Ein Blick in die Suche hat u.a.
![]() |
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Alles klar, danke dir - bin schon nen bissl müde ;) Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Okay, leider wieder nix ....
Also, ich versuchs nochmal zu erklären: Ich habe hier ein Bild, das Original etwa 1000x300 Pixel groß war. Dieses habe ich verkleinert abgespeichert (147x45 Pixel). Dieses schon verkleinerte Bild lade ich nun in Image1 und will dieses ausdrucken. Leider druckt diese Funktion das Image immer nur sehr sehr klein aus. Ich würde es aber gerne in Originalgröße ausdrucken (147x45 Pixel) und das auf einem Blatt Papier platzieren. Klingt einfach - ich Stretche es einfach .... Nur leider wird es dann verpixelt und verschwommen .... Die Funktion ResizeImage (der letzte Link) ändert die größe eines Bildes, aber es ist ja schon in der größe wie es auch gedruckt werden soll, bringt mir also nichts. Wie kann ich das Bild nun in Originalgröße ausdrucken, ohne dass es verpixelt wird ?? Danke schonmal ... Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Die Pixelangabe sagt ja nichts darüber aus, wie groß das Bild auf dem Drucker ausgegeben wird. Stell doch mal die Druckerauflösung niedriger ein, dann wird das Bild größer ;)
|
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Danke schonmal. Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Du könntest mittels SetMapMode die Ausgabe auf 1/10 bzw. 1/100 Millimeter umstellen und wärst somit unabhängig von der Druckerauflösung. Bemühe mal dazu die Forensuche.
|
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Alles klar, ich schau mal! Ich danke dir!! Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
|
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Gruß, Manu |
Re: gedruckte Grafik total verpixelt und verschwommen
stimmt, denn CopyRect skaliert nicht.
Trotzdem sollte die Lösung des Problems in ![]() Denn damit kannst du einstellen, wie viele Millimeter/Inches ein Pixel deiner Grafik auf dem Ausdruck haben soll. |
Re: gedruckte Grafik total verpixelt und verschwommen
Zitat:
Ansonsten vergrößere doch das Originalbild auf 1470X450 und drucke es dann ganz normal mit
Delphi-Quellcode:
ohne copyrect() aus.
Printer.BeginDoc;
Printer.Canvas.Draw(0, 0, Image1.Picture.Graphic); Printer.EndDoc; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz