怎样用VFP生成BMP图形文件
因为要在程序中添加打印条码功能,试用了多个打印条码的DLL或VFP程序,不是打印出来的分辨率太低,就是程序功能齐全、程序太大不便于打包发布。我现在想自己根据需要做一个生成条码图片的程序,目前条码的编码计算问题已经解决,下一步就是根据计算出来由0和1组成的字符串来绘制BMP图片。但我还不知道在VFP下如何绘制和生成BMP图片,希望大家能给个思路或提供一个范例。
程序代码:
*----------------------------
* 使用 GDI+ 庫繪圖範例
* 打開 VCX 文件可以查看類庫源代碼
*----------------------------
*----------------------------
* VFP 9.0(SP2) 自帶GDI+類庫
* 文件名:_GDIplus.vcx, _GDIplus.vct (若使用頭文件,有 GDIplus.h, GDIplus_locs.h)
* 路徑:VFP 安裝目錄下 FFC 文件夾
*----------------------------
SET PATH TO HOME() + "FFC"
_Bitmap = NEWOBJECT("gpBitmap", "_GDIplus.vcx") && 建立繪圖板對象,圖形將在此畫板上繪製
WITH _Bitmap
.Create(128,128) && 設定畫板大小,寬度和高度
.SetResolution(300,300) && 設定分辨率(x,y 的 DPI 値)
ENDWITH
_Color = NEWOBJECT("gpColor", "_GDIplus.vcx") && 建立顔色對象
_Pen = NEWOBJECT("gpPen", "_GDIplus.vcx") && 建立畫筆對象
_Font = NEWOBJECT("gpFont", "_GDIplus.vcx") && 建立字體對象
_StringFormat = NEWOBJECT("gpStringFormat", "_GDIplus.vcx")
_TextBrush = NEWOBJECT("gpSolidBrush", "_GDIplus.vcx")
_Point = NEWOBJECT("gpPoint", "_GDIplus.vcx")
_Graphics = NEWOBJECT("gpGraphics", "_GDIplus.vcx") && 建立圖形對象
WITH _Graphics
.CreateFromImage(_Bitmap) && 指定圖形對象的設備,此處指向已建立的_Bitmap對象
_Color.Set(255,255,255) && 設定顔色,三個參數分別是紅、緑、藍値,即RGB各自獨立
.Clear(_Color) && 用設定的顔色填充整個圖形,可用於背景顔色
_Color.Set(0,0,0) && 改變顔色
_Pen.Create(_Color, 10) && 將指定的顔色賦予畫筆,請查看類庫中gpPen對象Create方法的參數,此處10是筆寬
.DrawLine(_Pen, 20, 20, 108, 20) && 用設定的畫筆畫圖,類庫中有很豐富強大的畫圖函數
.DrawLine(_Pen, 20, 50, 108, 50)
_Color.Set(0,255,0)
_Font.Create("Arial", 10, 0, 3) && 設置文本字體
_TextBrush.Create(_Color) && 設定文本顔色
_Point.Create(10, 80) && 設定文本左上角位置
.DrawStringA("Test", _Font, _Point, _StringFormat, _TextBrush)
ENDWITH
_Bitmap.SaveToFile("Test.BMP", "image/bmp") && 將繪圖板保存爲文件,此處指定文件格式爲.BMP
RELEASE ALL
RETURN

