procedure PrintEANBarCode(strEANCode : String; objPicBox : PictureBox;
const sngX1 : Single = -1; const sngY1 : Single = -1;
const sngX2 : Single = -1; const sngY2 : Single = -1;
const FontForText: Font = nil);
var
I : Integer;
sngPosX : Single;
sngPosY : Single;
sngScaleX : Single;
strEANBin : String;
strFormat : StringFormat;
FontText : Font;
sngXX1, sngYY1, sngXX2, sngYY2 : Single;
BrushX : Brush;
begin
StrFormat := StringFormat.Create;
strEANBin := EANCodeBIN(strEANCode);
If (FontForText = nil) Then
FontText := Font.Create('Courier New', 10)
else
FontText := FontForText;
If sngX1 = (-1) Then
sngXX1 := 0
else
sngXX1 := sngX1;
If sngY1 = (-1) Then
sngYY1 := 0
else
sngYY1 := sngY1;
If sngX2 = (-1) Then
sngXX2 := objPicBox.Width
else
sngXX2 := sngX2;
If sngY2 = (-1) Then
sngYY2 := objPicBox.Height
else
sngYY2 := sngY2;
sngPosX := sngXX1;
sngPosY := sngYY2 - (1.5 * FontText.Height);
BrushX := SolidBrush.Create(objPicBox.BackColor);
objPicBox.CreateGraphics.FillRectangle(BrushX, sngXX1, sngYY1, sngXX2 - sngXX1, sngYY2 - sngYY1);
sngScaleX := (sngXX2 - sngXX1) / strEANBin.Length;
for I := 1 To Length(strEANBin) do
begin
If Copy(strEANBin, I, 1) = '1' Then
begin
BrushX := SolidBrush.Create(objPicBox.ForeColor);
objPicBox.CreateGraphics.FillRectangle(BrushX, sngPosX, sngYY1, sngScaleX, sngPosY);
end;
sngPosX := sngXX1 + (I * sngScaleX);
end;
strFormat.Alignment := StringAlignment.Center;
strFormat.FormatFlags := StringFormatFlags.NoWrap;
BrushX := SolidBrush.Create(objPicBox.ForeColor);
objPicBox.CreateGraphics.DrawString(strEANCode, FontText, BrushX, Convert.ToSingle((sngXX2 - sngXX1) / 2), Convert.ToSingle(sngYY2 - FontText.Height), strFormat);
end;PrintEANBarCode(TextBox1.Text, PictureBox1, 10, 10, PictureBox1.Width - 20, PictureBox1.Height - 20);

![]() |
CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010 |
Procurando Notebooks, Câmeras Digitais, iPhones?