Pdf/demo/raw_image_demo.tsl

88 lines
2.9 KiB
Plaintext

Uses TSPdfEnumerations;
{$IFDEF LINUX}
separator := "/";
{$ELSE}
separator := "\\";
{$ENDIF}
alias := "";
path := "";
InitCmdParams(alias, path);
output_file := "raw_image_demo.pdf";
output_file := path + separator + output_file;
pdf := new PdfFile();
pdf.SetCompressionMode(TSPdfEnumerations.COMP_ALL);
// create default-font
font := pdf.GetFont("Helvetica", "");
// add a new page object.
page := pdf.AddPage();
page.SetWidth(172);
page.SetHeight(80);
height := page.GetHeight();
page.BeginText();
page.SetFontAndSize(font, 20);
page.MoveTextPos(220, height - 70);
page.ShowText("Raw Image Demo");
page.EndText();
raw_image_path := path + separator + "rawimage" + separator;
raw_image_file1 := raw_image_path + "32_32_rgb.dat";
// load RGB raw-image file.
image := pdf.LoadRawImageFromFile(alias, raw_image_file1, 32, 32, TSPdfEnumerations.CS_DEVICE_RGB);
x := 20;
y := 20;
// Draw image to the canvas. (normal-mode with actual size.)//
page.DrawImage(image, x, y, 32, 32);
// load GrayScale raw-image file.
raw_image_file2 := raw_image_path + "32_32_gray.dat";
image := pdf.LoadRawImageFromFile(alias, raw_image_file2, 32, 32, TSPdfEnumerations.CS_DEVICE_GRAY);
x := 70;
y := 20;
// Draw image to the canvas. (normal-mode with actual size.)//
page.DrawImage(image, x, y, 32, 32);
// load GrayScale raw-image (1bit) file from memory.
RAW_IMAGE_DATA := array(
"0xff", "0xff", "0xff", "0xfe", "0xff", "0xff", "0xff", "0xfc",
"0xff", "0xff", "0xff", "0xf8", "0xff", "0xff", "0xff", "0xf0",
"0xf3", "0xf3", "0xff", "0xe0", "0xf3", "0xf3", "0xff", "0xc0",
"0xf3", "0xf3", "0xff", "0x80", "0xf3", "0x33", "0xff", "0x00",
"0xf3", "0x33", "0xfe", "0x00", "0xf3", "0x33", "0xfc", "0x00",
"0xf8", "0x07", "0xf8", "0x00", "0xf8", "0x07", "0xf0", "0x00",
"0xfc", "0xcf", "0xe0", "0x00", "0xfc", "0xcf", "0xc0", "0x00",
"0xff", "0xff", "0x80", "0x00", "0xff", "0xff", "0x00", "0x00",
"0xff", "0xfe", "0x00", "0x00", "0xff", "0xfc", "0x00", "0x00",
"0xff", "0xf8", "0x0f", "0xe0", "0xff", "0xf0", "0x0f", "0xe0",
"0xff", "0xe0", "0x0c", "0x30", "0xff", "0xc0", "0x0c", "0x30",
"0xff", "0x80", "0x0f", "0xe0", "0xff", "0x00", "0x0f", "0xe0",
"0xfe", "0x00", "0x0c", "0x30", "0xfc", "0x00", "0x0c", "0x30",
"0xf8", "0x00", "0x0f", "0xe0", "0xf0", "0x00", "0x0f", "0xe0",
"0xe0", "0x00", "0x00", "0x00", "0xc0", "0x00", "0x00", "0x00",
"0x80", "0x00", "0x00", "0x00", "0x00", "0x00", "0x00", "0x00"
);
RAW_IMAGE_DATA := array2str(RAW_IMAGE_DATA, "");
RAW_IMAGE_DATA := DecoderAdixstr(RAW_IMAGE_DATA, 2, 16);
image := pdf.LoadRawImageFromMem(Binary(RAW_IMAGE_DATA), 32, 32, TSPdfEnumerations.CS_DEVICE_GRAY, 1);
x := 120;
y := 20;
// Draw image to the canvas. (normal-mode with actual size.)//
page.DrawImage(image, x, y, 32, 32);
// save the document to a file
err := pdf.SaveToFile(alias, output_file);
echo "SaveToFile::\t", "err := ", format("%x", err), "\toutput_file := ", output_file, "\n";
return;