jon*_*bar 7 delphi png transparency
使用Delphi 2010我想将PNG图像复制到剪贴板,同时保留alpha透明度.不幸的是,TPngImage.SaveToClipboardFormat方法会将其绘制到位图,透明度将会丢失.
我想将PNG图像粘贴到Photoshop和Word等具有Alpha透明度的应用程序中.
有关如何做到这一点的任何想法?其他应用程序如何在剪贴板中复制透明度?
使用 delphi XE,我所做的就是:
Clipboard.Assign(Image1.Picture.Graphic);
Run Code Online (Sandbox Code Playgroud)
他们可能使用替代剪贴板格式,请参阅 http://msdn.microsoft.com/en-us/library/ms649013(VS.85).aspx以获取可用剪贴板格式的列表。或者他们可以注册自己的剪贴板格式,例如
RegisterClipboardFormat('PNG')
Run Code Online (Sandbox Code Playgroud)
然后只需将 png 数据写入剪贴板即可。如果指定的剪贴板格式字符串是标准的(即其他应用程序注册相同的剪贴板格式),那么您将能够将其粘贴到支持此剪贴板格式的其他应用程序中。
您可能需要直接调用 Windows 函数,因为 Delphi 的剪贴板包装器不是很好。