繁体   English   中英

Delphi-使用透明度和索引调整PNG大小

[英]Delphi - Resize PNG with transparence and index

我有许多透明的PNG文件,这些PNG文件似乎已被索引。 我想要 :

  • 将2个相同的PNG并排放置,两者之间留有间隔
  • 使用平滑的调整大小滤镜(或Mitchell,Linear,Spline或其他)调整结果的大小
  • 保持透明度和原件颜色

你有一个例子可以做到吗?

这个问题与其他PNG调整大小问题有关,但是...

AFAIK,您无法调整索引图像的大小并保留原始调色板。 调整图像大小将需要混合颜色,特别是在缩小图像时。

PNGImage组件的原始作者(Delphi本机组件的基础)在一个论坛上,他和其他人发布了有关如何使用PNGImage组件执行操作的代码段。

在取消论坛之前,我抓取了所有代码片段的副本,并将其放在CodeGear Code Central网站上。

所有这些(如果不是全部的话)大多数都可以与本地PNG图像一起使用,并且可以维护Alpha通道。

这是软件包中包含的示例的完整列表:

  • 平滑旋转PNG对象
  • 使用平滑算法调整TPNGObject的大小
  • 将一个PNG切成几个较小的PNG
  • 将图像另存为位图或png。
  • 样本块后代
  • 读取所有tEXt-Chunk并将值写入TStrings对象
  • 显示一个消息框,其中包含从PNG文件中提取的信息
  • 从PNG图像中查找并剪切一个块
  • 此方法将png转换为jpeg对象
  • 此方法将png转换为bmp对象
  • 将一个PNG覆盖在另一个PNG上(这会使图像半透明)
  • 垂直翻转png图像并保存回来
  • 在桌面上绘制png图像

这里是链接: CodeCentral PNG方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM