只想加载.PNG,尝试使用与其他格式兼容的OleGraphic我的LoadPic(),但在PNG上失败。
目标是将图像复制到隐藏的位图,然后将其隐藏并复制到可见的工作图像画布。如果CopyRect不这样做,请随意提出其他建议。
但主要问题是:加载PNG。怎么样?我发现了很多页面(f.ex. TPNGImage),但是网络上的所有资源和链接都已消失,无法下载或无法下载。
答案 0 :(得分:11)
Delphi 7本身不支持PNG。有几个第三方组件可以让您添加该支持。例如,在Torry's site。
答案 1 :(得分:6)
最新版本的Delphi本身支持PNG,还有许多其他增强功能,建议您升级。
答案 2 :(得分:5)
答案 3 :(得分:3)
从下面下载......
http://delphi.pjh2.de/articles/graphic/png.php
使用delphi 7处理.png图像非常容易... 只需将其添加到用途中...... 并创建一个png对象......
答案 4 :(得分:0)
小型开源SynGdiPlus库能够load and save gif, tiff and png pictures。
它将调用GdiPlus.dll库,该库自Windows XP起可用。
快速可靠。
同一个单元能够使用抗锯齿渲染任何GDI图元文件:您在常规TCanvas上编写,然后使用GDI +绘制with anti-aliasing。代码更改小,渲染更多。
开源单元,从Delphi 6到XE。
下载最新版本答案 5 :(得分:0)
Soft Gems的GraphicEx已移至https://github.com/mike-lischke/GraphicEx
关于此举的解释可以在http://www.soft-gems.net/index.php/libs/43-graphicex-on-github
找到我在我的Delphi 6项目中添加了GraphicEx,它开箱即用,但是当我使用Delphi 5进行测试时却没有。
无论如何,它运行良好并且不仅可以实现PNG图像,还可以实现许多其他可从GraphicConfiguration.inc配置的图像:
// Pick your preferred image formats here or leave them all enabled. By disabling
// certain formats which are not of interest you can save some memory.
{$define UseLZW} //patent is out, yay!
{$define SGIGraphic} // *.bw, *.rgb, *.rgba, *.sgi images are supported
{$define AutodeskGraphic} // *.cel, *.pic images
{-$define NewTIFFGraphic} // *.tif, *.tiff images
{$define OldTIFFGraphic}
{$define TargaGraphic} // *.tga, *.vst, *.icb, *.vda, *.win images
{$define PCXGraphic} // *.pcx, *.pcc, *.scr images
{$define PCDGraphic} // *.pcd images
{$define PortableMapGraphic} // *.ppm, *.pgm, *.pbm images
{$define CUTGraphic} // *.cut (+ *.pal) images
{$define GIFGraphic} // *.gif images
{$define RLAGraphic} // *.rla, *.rpf images
{$define PhotoshopGraphic} // *.psd, *.pdd images
{$define PaintshopProGraphic} // *.psp images
{$define PortableNetworkGraphic} // *.png images
{$define EPSGraphic} // *.eps images
{$define ArtsAndLettersGraphic} // *.ged images