[gelöst] Barcode als Bild-Datei speichern

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...

[gelöst] Barcode als Bild-Datei speichern

Beitragvon Developer CPS » 14. Mär 2017, 18:46 [gelöst] Barcode als Bild-Datei speichern

Hallo,

ich habe folgendes Problem: In meinem Programm gebe ich eine 13-stellige Ziffernfolge ein, die dann in eine Bitfolge umgewandelt wird, um diese dann als Barcode auszugeben (s. Screenshot). Das funktioniert soweit auch einwandfrei.

Das Problem ist nun, dass ich nun den erzeugten Barcode als Bild exportieren möchte, weiß allerdings nicht so recht, wie ich das anstellen soll. Jeder Strich des Barcodes ist eine eigene Shape (bei EAN-13 also insg. 95 Stück).

Bin über jede Hilfe dankbar!


Gruß

DeveloperCPS
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Developer CPS am 14. Mär 2017, 20:41, insgesamt 1-mal geändert.
Developer CPS
 
Beiträge: 15
Registriert: 28. Aug 2015, 17:44
Wohnort: Baden-Württemberg, Deutschland
OS, Lazarus, FPC: Windows 10 (L 1.4.4, FPC 2.6.4) | 
CPU-Target: 64-Bit
Nach oben

Beitragvon theo » 14. Mär 2017, 18:54 Re: Barcode als Bild-Datei speichern

Vernünftigerweise hättest du die Striche auf den Canvas gemalt, und nicht mit Shapes gearbeitet. Einen Bitmap Canvas hättest du direkt speichern können.
So kannst du vllt. einen Screenshot machen, das wäre aber ziemlich murksig.

Habe dir ein minimales Beispiel gemacht:

Code: Alles auswählen
 
var
  Form1: TForm1;
  abmp:TBitmap;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  abmp:=TBitmap.Create;
  abmp.SetSize(300,200);
  abmp.Canvas.Brush.Color:=clWhite;
  abmp.Canvas.FillRect(0,0,abmp.Width,abmp.Height);
  abmp.Canvas.Brush.Color:=clBlack;
  abmp.Canvas.FillRect(4,0,8,abmp.Height);
  abmp.Canvas.FillRect(10,0,12,abmp.Height);
  //etc...
  abmp.SaveToFile('test.bmp');
end;
 
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
 abmp.Free;
end;
 
procedure TForm1.FormPaint(Sender: TObject);
begin
  Canvas.Draw(1,1,abmp);
end;
theo
 
Beiträge: 8042
Registriert: 11. Sep 2006, 18:01

Beitragvon Developer CPS » 14. Mär 2017, 20:40 Re: Barcode als Bild-Datei speichern

Danke für deine Hilfe, ich habs jetzt auf Canvas umgestellt, jetzt funktionierts!

Gruß

DeveloperCPS
Developer CPS
 
Beiträge: 15
Registriert: 28. Aug 2015, 17:44
Wohnort: Baden-Württemberg, Deutschland
OS, Lazarus, FPC: Windows 10 (L 1.4.4, FPC 2.6.4) | 
CPU-Target: 64-Bit
Nach oben

Beitragvon af0815 » 15. Mär 2017, 07:35 Re: [gelöst] Barcode als Bild-Datei speichern

BTW. Es gibt für Barcode auch fertige Bibliotheken, zB. in LazReport. TFrBarcodeObjekt, schau dort ev. mal rein.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3379
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

• Themenende •

Zurück zu Multimedia



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried