- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
版本 1 和版本 2 有什么区别?他们似乎在我的情况下做同样的事情,但我到处都读到版本 1 是更好的方法。但是为什么?
public BufferedImage getImage(Icon icon) {
int w = icon.getIconWidth();
int h = icon.getIconHeight();
// version 1
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
BufferedImage image = gd.getDefaultConfiguration().createCompatibleImage(w, h, Transparency.OPAQUE);
// version 2
// BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = image.createGraphics();
icon.get().paintIcon(null, g, 0, 0);
g.dispose();
return image;
}
最佳答案
一般来说,第一种方法生成的 Image
需要较少的转换才能显示。
在可能的最佳情况下,“第一种方法”图像将具有与实际屏幕内存布局完全相同的内存布局,这意味着为了在屏幕上显示图像,可以按原样复制图像数据。仅当屏幕内存布局为 ARGB(每个组件 8 位)时,“第二种方法”图像也是如此,并且在所有其他情况下,图像必须(自动且对用户代码透明)转换为目标格式。
真实案例介于两者之间,并且可能涉及更多:
理论上,每次 Image
格式和 GraphicsConfiguration
格式变得不兼容时,您都应该重新创建图像。
实际上,您可以使用new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB)
(或任何其他适合您需要的特定图像类型)直到您可以证明它正是泛型的用法BufferedImage
导致您的应用程序运行缓慢(因为转换为目标设备格式)或消耗过多内存(因为转换需要额外的内存)。
关于java - 使用 Transparency.OPAQUE 的 createCompatibleImage 和使用 BufferedImage.TYPE_INT_ARGB 的简单 BufferedImage 构造函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22605949/
嗨,你能帮忙吗 xcode 在第 4 行说:(函数不透明返回类型被推断为“按钮”,它根据自身定义了不透明类型) 感谢您的帮助 <3 Button(action: { self.showingProfi
有人对什么是“不透明类型”有很好的解释吗?我在 CFBundleRef 的上下文中看到了这个术语,他们说:“CFBundleRef 不透明类型”。那是只读类型吗? 最佳答案 “不透明类型”是您没有st
我正在尝试正确解释来自对 URL 的 fetch 调用的响应,我认为这是一个 json 字符串。我已经根据此处的类似帖子尝试了许多变体,但没有什么可以让我使用有用的数据。这是一种尝试: fetch('
我正在编写一个哈希表,并且我正在使用一个不透明的指针来管理这个 ADT。这是我的代码的样子: 哈希表.h typedef struct hash_table *Hash_table; Hash_tab
我知道键是什么,我知道其他上下文中的不透明键是什么 - 但数据库上下文中的不透明键是什么? 最佳答案 这意味着它除了用于查找记录之外没有任何实际意义 - 它应该被视为任意数据,除了键入之外没有其他目的
在 PyQtGraph、GLScatterPlotItem 中,当点重叠时,我希望这些点不会将颜色混合在一起。我想看到最近的点,而不是后面的点。 我已经要求颜色不透明(alpha = 1.0),但是当
在 Cocoa 中,特别是 iPhone SDK,opaque 属性描述为: If opaque, the drawing operation assumes that the view fills
This question already has answers here: Youtube iframe wmode issue (9个答案) 7年前关闭。 上面的注释:这不是重复的问题! The
问候, 我想在表面 View 上放置一个图像。但是我希望图像是透明的,这样您就可以看到图像以及潜在的表面 View 。谁能建议我该怎么做? 最佳答案 这就是我在绘制形状之前的做法。 Bitmap bu
如何动态添加 wmode="opaque" 到已经显示的 embed 元素?在不重新加载元素的情况下,嵌入的内容不应丢失其状态。 仅使用 javascript 设置 wmode 属性是行不通的。 删除
我刚在那个网站上找到了一些东西:iphoneexamples.com .查看“显示图像”时,我发现了一些新东西。 myImage.opaque = YES;//为了性能显式不透明 有人可以给我解释一下
我希望我的表格单元格能够快速加载,因此我将单元格内的所有 UILabel 设置为不透明=YES;这很好,因为我也将背景设置为白色,看起来很正常。 当您单击单元格时,问题就出现了,因为这些标签的背景是白
在大多数有关在 Kubernetes 中使用 secret 的示例中,您都可以找到类似的示例: apiVersion: v1 kind: Secret metadata: name: mysecr
我有一个覆盖 drawRect 的 UIView 子类:以实现各种效果(渐变背景、具有不同半径的圆角等)。当我分析应用程序并在模拟器/仪器中启用颜色混合层时,此类的实例永远不会是绿色的,即使它只是绘制
Typescript 没有内置的 Opaque类型 like Flow does .所以我做了自己的定制Opaque类型: type Opaque = Type & {readonly __TYPE_
我使用以下脚本添加 wmode="opaque"来嵌入元素: jQuery("iframe[src], embed[src]").each(function () { jQuery(this)
在ffmpeg中有一个结构AVFrame描述解码的视频或音频数据。 它有一个空指针不透明。该文档声称它是“用于用户的一些私有(private)数据”。 这是什么意思?它可以用于传输任何附加数据作为每帧
假设我有一个抽象对象,可以由多个独立的插件作者实现。 (例如,错误数据库连接)我不希望我的位的消费者必须处理每个特定的插件类型。 我还想将解析配置文件的过程与实际初始化数据库插件和其他类似事情的过程分
我有两个如下所示的界面: class IThing { ... virtual IHandle* getHandle(void) = 0; virtual void useHa
我在 the documentation for a windows OS "DRIVER_OBJECT" 中看到驱动程序对象是部分不透明的。但是“部分不透明”是什么意思? 我猜这意味着只有 DRIV
我是一名优秀的程序员,十分优秀!