问题标签 [png-transparency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1736 浏览

css - IE6 PNG透明度修复与背景定位

我正在使用它来修复 IE6 中背景图像的 PNG 透明度

这很好用,但是我在尝试用精灵实现它时遇到了问题。该修复忽略了定位并呈现为好像该位置在右上角。

有没有办法强制背景位置或更好的方法来做到这一点。我宁愿不使用 JavaScript 或更改为 gif。

0 投票
1 回答
7526 浏览

iphone - Why do .png backgrounds appear black on iPhone device but not simulator?

I started with a .tiff file and used GraphicConverter to change it to a .png and set a transparency color. Worked fine in the simulator but when I pushed to the device the transparency color became black. Tested with a .png I downloaded from the net and that worked fine, so it seems to only happen with some files. Thus I suspect it has something to do with the way GraphicConverter writes the .pngs, but I don't know enough about file formats to debug it. Any ideas/suggestions? Ideally I'd like to programatically treat all .pngs because my app allowed dynamic loading of arbitrary files, so I can't verify the transparency beforehand.

0 投票
3 回答
2873 浏览

delphi - 无需编写预混合代码即可正确处理 PNG 透明度的 TBitmap 的按钮控件和底层替换

Delphi 2010 的 TSpeedButtons 似乎并没有真正正确支持 PNG 透明度,因为 Glyph 属性在内部使用了 TBitmap,而 TBitmap 用于位图,并且不正确支持 PNG 透明度,然后 TSpeedButton.Glyph 不能支持透明度..更新:但实际的问题是我有一些外部的东西(Developer Express 组件)正在渲染 delphi 的 PNG 支持不起作用,另一方面,TImage,虽然它仍然是 TPicture,并且可以支持 PNG,但也受到了这个 Developer express漏洞。

此处已经提出了一个问题,答案显示了如何使用预混合以使透明度不会变成黑色像素。我想知道是否有另一个按钮控件将使用在设计时加载的 alpha 混合 PNG,并且它不会将 PNG 资源转换为 BMP 格式而丢弃 alpha 通道,并导致此处显示黑色边框。

简而言之,此控件不会使用 TBitmap,也不会使用 TBitmap 所具有的色键透明度功能。

重复一遍,我不是在问如何在仍然使用过时的基于 TBitmap/TSpeedButton 的 VCL 功能的同时解决外部黑色问题,因为它缺乏现代 PNG 透明度功能,我问的是用它替换它其他“正常工作”的东西。

作为次要缺点,将小的 .png 文件转换为 .DFM 位图资源实际上是在浪费空间并使我的表单 .DFM 内容太大。.dfm 中的原生 .png 文件格式存储应该使生成的表单更小。

在此处输入图像描述

更新: PngComponents 看起来应该可以工作,但是Invalid Graphic format当我尝试将 png 加载到 Png 速度按钮时出现错误。请注意,Png 图像列表组件没有此类问题。似乎 cxLibrary(一个开发人员快递包)正在破坏事物。一旦我删除了所有开发人员快递的东西,这个问题就消失了。因此,尽管我选择了 Pngcomponents 作为答案,但如果您安装了 devex 东西,请改用它们的按钮,而不是 pngcomponents。

在此处输入图像描述

0 投票
2 回答
1856 浏览

android - 在 ImageView 下使用具有完全透明背景的 png 着色工件

我正在开发 Gingerbread (2.3.3) 设备。我有一个 ImageView,其中包含一个箭头图,并且有一个完全透明的背景,我需要在某些背景上绘制。问题是 ImageView 的边界框下方有一个“阴影”伪影。
如果您仔细查看下图,您会看到我正在谈论的工件:1

前景图像和背景图像都有 alpha 通道,因此被解码为 ARGB8888(我通过手动将它们的资源解码为位图来仔细检查,打印出显示 ARGB8888 的位图配置,然后将它们分配给它们各自的视图)。在调用 setContentView() 之前,我还将 Activitiy 的窗口配置为 PixelFormat.RGBA_8888。

请不要向我推荐建议将位图解码为 ARGB8888 和/或将窗口设置为 RGBA_8888 的线程,因为我尝试了两种解决方案,但都没有帮助。

有什么想法可以解决这个问题吗?

编辑:

这是设置窗口像素格式和可绘制对象的函数(直接从 onCreate() 调用):

这是我的测试使用的(非常简单的)布局:

'bg' 资源可以在2
找到 'big_arrow' 资源可以在“http://i.imgur.com/3V6QU.png”找到

编辑 2:
我发现我无法在模拟器上重现该问题,也无法在我的 N1 (2.3.4) 或 XOOM (3.2.1) 上重现该问题。从这里继续有 2 个选项:
1. 问题是特定于设备的(我正在处理基于 Android 的设备)
2. 2.3.4 和 32BPP 帧缓冲区在相互渲染透明 PNG 时存在特定问题。

谢谢。

0 投票
1 回答
547 浏览

internet-explorer-6 - dd_belatedpng 修复 IE6 上 img 标签

我使用 Drew Diller DD_belatedPNG_0.0.8a.js 脚本来修复带有 png 的 IE6 透明度,实际上它似乎工作正常,除了 img 标签中的图片。对于 imgs 标签,它解决了透明度问题,但使 png 文件看起来更大且开箱即用。我猜该脚本没有应用为 IE6 指定的 css 规则,如下 IE.css 文件所示,该文件似乎保持其原始大小而不是 width:171px; 高度:81 像素。知道如何解决这个问题吗?而且我不想替换 img 标签,因为我正在开发的网站有上千个。

提前致谢。

0 投票
1 回答
6254 浏览

crystal-reports - Crystal Reports 11:将 PNG 添加到 OLE 对象

我正在尝试向我的 Crystel Reports 11 报告中的 OLE 对象添加具有透明度的 PNG 图像。

当我运行报告时,图像只是变黑。

有没有办法解决这个问题,或者水晶报表不支持 PNG?

0 投票
1 回答
1679 浏览

android - 复制到图库的Android透明图像获得纯黑色背景

我使用以下语句将图像从资产复制到图库应用程序,效果很好:

图像是具有透明背景的 png 文件。当我将它们从资产加载到例如 ImageView 时,它们会正确显示。

问题是,以前导入图像的透明背景在画廊中变成了纯黑色。

png 是由 gimp 创建的 png24。我还尝试了由 Apple 的预览应用程序添加的透明 gif 和带有透明度的 png,结果相同。

为什么会发生?

0 投票
0 回答
349 浏览

c# - png 如何保留 alpha 通道但更改背景颜色

我有一个带有 alpha 通道的 png 图像,对于我们的一个不支持 alpha 的工具,我需要编辑图像,以便每个透明的像素都获得特定的颜色但保留 alpha,因此 png 仍然适用于所有工具谁支持阿尔法。

到目前为止,这是我的代码,但它不起作用,有人可以帮忙吗?图片是我的源png,我选择了红色作为颜色。

谢谢

0 投票
0 回答
423 浏览

java - Java 和 Linux:TrayIcon 和任务切换器问题

我有一个在 Windows(很棒)和 Ubuntu 12.04(面临几个界面问题)上运行的应用程序。首先,我有以下代码来实现 TrayIcon:

这个 png 图标有一个透明的背景。正如我所说,在 Windows 上运行良好。但在 Linux 上,它的背景是白色的。此外,当鼠标悬停在其图标上时,会显示一个标签(不是工具提示)“JavaEmbeddedFrame”。

我的 .desktop 文件(在 /usr/share/application 中)设置为:

当 ALT+TAB 时,它不是显示“appTest”,而是显示“Java”,带有我的应用程序图标和带有“java.lang.Thread”描述的默认 Java 图标(如另一个窗口)。

关于如何解决它的任何想法?提前致谢!

0 投票
1 回答
2710 浏览

css - 背景图片通过透明背景图片显示

我正在尝试为网站创建横幅。出于 SEO 的目的,我决定看看是否可以创建类型的横幅而不是导入的图像。我取得了不错的进展,但由于某种原因,我的背景图像通过覆盖在其顶部的徽标显示。

我将背景图像(在 css 中设置)设置为不透明度,因为我不想要它的全部强度。在它上面我放置了具有透明背景但没有不透明度的徽标。

目标横幅位于:

http://arielbalter.com/cio/

我正在尝试的代码位于:

http://jsfiddle.net/abalter/QzNpQ/

** * HTML * ****

** CSS * ***

谢谢!