Autor Beitrag
jjturbo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Mi 27.02.08 14:55 
Moin Forum,

ich möchte ein Barcode-Etikett drucken, dazu generiere ich ein Bitmap mit einer kleinen Tabelle drauf, an eine bestimmte Stelle auf diesem Bitmap zeichne ich den Barcode. Auf dem Bildschirm sieht es auch perfekt aus.
Wenn ich es allerdings auf dem Thermotransferdrucker(Valentin, 300dpi) ausdrucke, dann sieht der Barcode echt schlimm aus.

So drucke ich:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
    with Printer do begin
      ...
      ...
      BeginDoc;
      MyRect      := Rect(0, OffSetOben, Breite, Hoehe + OffSetOben);
      Canvas.StretchDraw(MyRect,Image1.Picture.Bitmap);
      EndDoc;
      ...
      ...
    end;


Ich habe das Bitmap auch mal in seiner Größe geändert, das Result bleibt irgendwie das gleiche.
Ich habe mal ein Beispieletikett angehängt, vielleicht weiß jemand Rat?

Danke schon mal im voraus,
jjturbo
Einloggen, um Attachments anzusehen!
_________________
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 01.03.08 00:20 
Hast Du einmal versucht, den Barcode direkt auf dem Canvas des Druckers zu generieren\zeichnen, anstatt diesen mit StretchDraw zu verunglimpfen?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
jjturbo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Sa 01.03.08 08:18 
Ja, das war die Lösung.
Ich wollte das, was als Ettikett auf dem Bildschirm angezeigt wird 1:1 ausdrucken. Aber selbst wenn die Größe dss verwendeten BitMap der Größe der Canvas im Drucker entspricht scheint StretchDraw ein Raster zur Hilfe zu nehmen und verunstaltet die Grafik.
Also zeichne ich jetzt zwei mal: Einmal als Vorschau auf dem Monitor, beim Drucken dann direkt auf die Canvas des Druckers, alles gut.

Danke an alle
jjturbo

_________________
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...