Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bitmap und Canvas Zeichnen Dringend Hilfe !!!!! (https://www.delphipraxis.net/77931-bitmap-und-canvas-zeichnen-dringend-hilfe.html)

renekr 26. Sep 2006 22:52


Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
Hallo,

Hoffe mir kann jemand schnell einen guten Tipp geben?!

Ich habe über eine Barcode Komponenten Barcodes erstellt als BMP Files ( 10000 stück ).
Größe 40 mm auf 8 mm

Soweit sogut.

Nun ist mein Problem das ich bei dem Barcode nur den Code habe und nicht die Klarschrift weils vom Platz und von der Komponente nicht anderst ging( Hauptsächlich vom Platz )

Nun will ich zu den BMP auf die Rechte Seite den Text als Klarschrift dazupinseln!
Dafür muss ich aber das BMP nach rechts erweitern,also nicht stretchen!!

Geht das?

Ich kann es auch früher machen wo die BMP noch nicht existiert und alles in ein Image laden oder so.
Also es muss nicht zwingend über das BMP File sein.
Ich will nur am Schluss ein File,das ev. max. 50*8mm ist und der Code max 40 und die 10mm auf der Rechten seite sollte dann die Klarschrift sein.

Erstellt habe ich den Barcode mit:
SourceForge

Danke

mkinzler 26. Sep 2006 23:21

Re: Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
Du kannst ja ein neues BMP erzeugen mit der gewünschten Größe und dann das bestehende in das neue kopieren.

Sunlight7 26. Sep 2006 23:22

Re: Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
Mach ein neues Bitmap in der gleichen Höhe, der neuen Breite, mal das alte darauf und speichere es in eine neue Datei, damit das Orignal keinen Schaden nimmt, falls was schief läuft.

Edit: Roter Kasten, sag mal funktionierst Du mit langsamen Modems nicht?

SirThornberry 27. Sep 2006 06:27

Re: Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
Du kannst das bestehende Bitmap einfach erweitern indem du "Bitmap.Width" bzw. "Bitmap.Height" bzw. "Bitmap.SetSize" setzt/aufrufst.

renekr 27. Sep 2006 08:32

Re: Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
Hi,Vielen Dank für die Tips.
Hat ev. jemand ein bisschen Beispiel Code?

Wäre sehr dankbar,weil mir fehlt die Zeit um viel zu testen und mit Canvas habe ich fast noch nix gemacht.

Also es gibt ja einige Möglichkeiten:

Ich erzeuge einen Barcode mit code :
Delphi-Quellcode:
StBarCode1.Code:=edit1.text;
StBarCode1.BarCodeType:=bcCode128
StBarCode1.SaveToFile('C:\BC\1\'+StBarCode1.code+'.bmp');
Ich kann das Bild nun in eine Var tun und bearbeiten und wenn alles fertig ist speichern!

Danke

SirThornberry 27. Sep 2006 09:11

Re: Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
dann erstellst du einfach ein TBitmap und rufst LoadFromFile auf. Setzt die Größe und gibst mit Canvas.Textout den gewünschten Text auf der Canvas aus. Danach speicherst du das Bild wieder (es wäre natürlich sinnvoller den Barcode nicht in eine Datei zu speichern sondern in einen Stream und das Bitmap von da wieder zu laden)
Delphi-Quellcode:
var
  lBitmap  : TBitmap;
  lTextWidth: Integer;
begin
  lBitmap := TBitmap.Create;
  lBitmap.LoadFromFile('C:\BC\1\'+StBarCode1.code+'.bmp');
  lTextWidth := lBitmap.Canvas.TextWidth('Dein Text');
  lBitmap.Width := lBitmap.Width + lTextWidth;
  lBitmap.Canvas.TextOut(lBitmap.Width - lTextWidth, 0, 'Dein Text');
  lBitmap.SaveToFile('C:\BC\1\'+StBarCode1.code+'.bmp');
  lBitmap.Free;
end;

renekr 27. Sep 2006 09:33

Re: Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
man vielen Dank.
Ich habe es mittlerwiele mit Paintbox und a bisserl umständlicher gemacht.

Anbei das Resultat

danke

renekr 6. Okt 2006 17:37

Re: Bitmap und Canvas Zeichnen Dringend Hilfe !!!!!
 
Hi,
ich bräuchte nochmals euren Rat:
Ich habe das Thema das ich die Bilder als Schwarz Weiß und mit mehr DPI erstellen muss.
Der Druck ist mit leichten Pixeln behaftet.

Besteht da die Chance es zu machen?

danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz