我用了DevExpress下的 TdxOrgchart 做了一個部門架構圖,想把這個架構圖匯出保存為jpg的圖片格式,請問如何實作啊?
uj5u.com熱心網友回復:
截屏
uj5u.com熱心網友回復:
截屏只能得到一部分而已,因為我這個架構圖很大,需要上下左右滾動 dxOrgchart 控制元件才能看完架構圖。uj5u.com熱心網友回復:
向dxOrgChart控制元件發送WM_Paint訊息,把送過去的HDC設成一個Tbitmap的HDC,控制元件就會乖乖的把它的內容畫到你的bitmap里。
uj5u.com熱心網友回復:
請問具體如何實作?
uj5u.com熱心網友回復:
hdc:=Bitmap1.canvas.handle; //bitmap1 就是你用來存盤圖片的SendMessage(dxOrgChart1.handle, WM_Paint, hdc, 0); //你查查幫助,看看WM_PAINT訊息的具體格式。
然后,bitmap1里就有了圖片了。
你試試看
uj5u.com熱心網友回復:
試了,好像不行,代碼如下:
var
hdc:THandle;
bm:TBitmap;
begin
bm:=TBitmap.create;
hdc:=Bitmap1.canvas.handle;
SendMessage(dxOrgChart1.handle, WM_Paint, hdc, 0);
image1.picture.bitmap:=bm;
end
執行后沒有什么反應。
uj5u.com熱心網友回復:
看看dxOrgChart有沒有PaintTo這個方法(或類似名字的)。uj5u.com熱心網友回復:
試試通過控制元件截圖??uj5u.com熱心網友回復:
只能截到一部分
uj5u.com熱心網友回復:
varbm:TBitmap;
begin
bm:=TBitmap.create;
bm.Width:=oc_OrgChart.FullWidth;
bm.Height:=oc_OrgChart.FullHeight;
oc_OrgChart.PaintContentTo(bm.Canvas,0,0);
bm.SaveToFile('d:\1.bmp');
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/34241.html
標籤:VCL組件開發及應用
上一篇:將來破解網路游戲。
