根据ALPHA值改MASK图函数

来源:互联网 发布:雪花的折法布施知子 编辑:程序博客网 时间:2024/06/06 14:22

void CTestSetPixelAppView::ChangeGrayBmpByPixel(CFbsBitmap *grayBmp, TInt alpha)
 {
 // 像素方式改变bmp
 TBitmapUtil util(grayBmp);
 TSize maskSize = grayBmp->SizeInPixels();

 const TRgb blackClr(0, 0, 0);
 const TInt blackRgb = blackClr.Gray256();

 const TRgb newClr(alpha, alpha, alpha);
 const TInt newRgb = newClr.Gray256();

 util.Begin(TPoint(0, 0));
 for (TInt yPos = 0; yPos < maskSize.iHeight; yPos++)
  {
  util.SetPos(TPoint(0, yPos));
  for (TInt xPos = 0; xPos < maskSize.iWidth; xPos++)
   {
   TInt curRgb = util.GetPixel();
   if (blackRgb != curRgb)
    {
    util.SetPixel(newRgb);
    }
   util.IncXPos();
   }
  }
 util.End();
 }

原创粉丝点击