领悟旧事

Learned Helplessness
分类新闻>>技术文章>>
vcl与fmx复制图像的不同用法(移动开发/xe7/xe6)
来源:http://www.xx0594.com/
时间:2014-12-30
作者:  浏览人数:909
在xe6/xe7中复制图像:win32与android有天壤之别:
    在win32中,可以用如下代码:
TButton *sAllNames[15];
//p是已经拖放到窗口上的15个TButton,上面有图像,有名称。
TButton *p[15]= {//所有棋子的名称,顺序按hdr_auto1.h中定义
 Bing1,Bing2,Bing3,Bing4,
 MaChao,ZhaoYun,ZhangFei,HuangZhong,GuanYu, 
 Huang_Z,Guan_Y,Zhang_F,Ma_C,Zhao_Y,CaoCao};

for(int i=0;i<15;i++)  {
   sAllNames[i] = p[i]; sManNames[i] = s_temp[i];
   if(i>0 && i< 4) {//画其它三个兵。
  sAllNames[i]->Bitmap->SetSize(80,80);
  sAllNames[i]->Bitmap->Canvas->BeginScene();
  sAllNames[i]->Bitmap->Canvas->DrawBitmap(sAllNames[0]->Bitmap,TRectF(0,0,80,80),TRectF(0,0,80,80),1);
  sAllNames[i]->Bitmap->Canvas->EndScene();
   }

以上代码在win32中运行毫无问题。但在android中,却出现了问题(图像复制不全面)
要改为:
for(int i=0;i<15;i++)  {
  sAllNames[i] = p[i]; sManNames[i] = s_temp[i];
  if(i>0 && i<4)sAllNames[i]->Bitmap->Assign(sAllNames[0]->Bitmap);}
简单又完美!兼容win32和Android.
以上代码,主要是针对Bitmap的进行的,也就是说Bitmap在win32与Android的区别。
//---------------------------------------------------------------------------

关闭窗口
 访问量:508170
任何第三方若要引用、转摘本站信息,均需征得本站书面同意,否则视为侵权。本站信息为个人观点,若因引用本站信息而产生的任何情况,均与本站无关。Email:linmutou@163.com
闽ICP备14017840号-2