miércoles, 6 de junio de 2012

Mostrar Código de Barras Vertical



static container MostrarBarCodeVertical()
{
System.Drawing.Bitmap   BarcodeBitmap;
System.Drawing.Graphics BarcodeGraphics;

int     dx=30;
int     dy=300;

str     barcodetxt;
Image   BarcodeImage;

System.Drawing.Pen                TxtPen;
System.Drawing.Brush              TxtBrush;

System.Drawing.Brush              DrawBrush;

System.Drawing.StringFormat       StringFormat;
System.Drawing.StringAlignment    StringAlignment;

System.Drawing.Font BarcodeFont = new System.Drawing.Font('BC C128 Medium',22,System.Drawing.FontStyle::Regular);

Int64             BarcodeBitmapPtr;
//BarcodeCode39    MyBarcode = BarcodeCode39::construct();
BarcodeCode128 MyBarcode=BarcodeCode128::construct();

    ;

BarcodeImage = new Image();

BarcodeBitmap = new System.Drawing.Bitmap(dx,dy);
BarcodeGraphics = System.Drawing.Graphics::FromImage(BarcodeBitmap);

barcodetxt="123456789012345678901234567890";
MyBarCode.string(true,barcodetxt);
MyBarCode.encode();
barcodetxt=MyBarCode.barcodeStr();

// clear canvas
DrawBrush = System.Drawing.Brushes::get_White();
BarcodeGraphics.FillRectangle(DrawBrush,0,0,any2int(dx),any2int(dy));

// set barcode text
TxtBrush = System.Drawing.Brushes::get_Black();
TxtPen = new System.Drawing.Pen(TxtBrush);

// set text alignment
StringFormat = new System.Drawing.StringFormat();
StringAlignment = System.Drawing.StringAlignment::Center;
StringFormat.set_Alignment(StringAlignment);
StringFormat.set_LineAlignment(StringAlignment);

// init rotation
BarcodeGraphics.TranslateTransform(any2int(dx),0);
BarcodeGraphics.RotateTransform(90);
  //  BarcodeGraphics.RotateTransform(

// draw text
BarcodeGraphics.DrawString(barcodetxt, BarcodeFont,TxtBrush, 0,0);

// transfer image to Ax
BarcodeBitmapPtr=BarcodeBitmap.GetHbitmap();
BarcodeImage.importBitmap(BarcodeBitmapPtr);

BarcodeImage.resize(dx+10,dy,InterpolationMode::InterpolationModeNearestNeighbor);
//BarcodeImage.saveImage("c:\\prueba.bmp");
return BarcodeImage.getData();
}

1 comentario: