首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增加TBitmap的大小或深度

增加TBitmap的大小或深度
EN

Stack Overflow用户
提问于 2015-09-22 20:16:08
回答 1查看 241关注 0票数 0

当我将位图的大小增加(例如).

代码语言:javascript
复制
bitmap.Width := bitmap.Width + 30;

..。我是否可以控制右30个像素的填充,还是假设它们未初始化?

类似地,如果我将PixelFormatpf24bit更改为pf32bit,是否可以控制使用什么字母字节进行初始化?

令人尴尬的新手问题,但是我的google-fu让我失望了。:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-23 07:45:35

因为在文档中没有定义在这个实例中发生的事情,所以您不能依赖任何东西。新像素很可能是0(黑色),但是如果它们对您很重要,您应该显式地填充它们:

代码语言:javascript
复制
FUNCTION ExpandBitMap(BMP : TBitMap ; AddW,AddH : Cardinal ; FillColor : TColor = clBlack) : TBitMap;
  VAR
    OrgW,OrgH : Cardinal;

  BEGIN
    OrgW:=BMP.Width; OrgH:=BMP.Height;
    BMP.Width:=OrgW+AddW; BMP.Height:=OrgH+AddH;
    BMP.Canvas.Brush.Color:=FillColor;
    BMP.Canvas.Brush.Style:=bsSolid;
    BMP.Canvas.FillRect(Rect(OrgW,0,BMP.Width,BMP.Height));
    BMP.Canvas.FillRect(Rect(0,OrgH,OrgW,BMP.Height));
    Result:=BMP
  END;

同样,对于Alpha通道,我将把它作为一个练习,让用户进行类似的功能:-)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32726060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档