[英]How can I draw a filled rectangle in an applet with half opacity?
如何在半透明/半透明的小程序中繪制一個填充的矩形?
對。
void foo(Graphics g) {
g.setColor(new Color(.3f, .4f, .5f, .6f);
g.fillRect(50, 50, 100, 100);
}
您正在使用什么API? 如果使用Java2D中的Graphics,則在創建Color對象時,可以向它們添加透明度,以0到1之間的alpha值表示。
這是有關Java2D的舊文章,其中包含一些示例
保羅·默里(Paul Murray)的回答完全正確。 但是需要澄清的是,這四個顏色開關的混合和匹配是造成不同顏色的原因。 以下是一些可以幫助您入門的基礎知識。
g.setColor(new Color(1f, 0f, 0f, 1f)); //RED
g.setColor(new Color(0f, 1f, 0f, 1f)); //GREEN
g.setColor(new Color(0f, 0f, 1f, 1f)); //BLUE
g.setColor(new Color(0f, 0f, 0f, 1f)); //BLACK
g.setColor(new Color(1f, 1f, 1f, 1f)); //WHITE
如果使用十進制數字,則可以使顏色不透明。 所以:
g.setColor(new Color(.5f, 0f, 0f, .5f)); //RED
將為50%不透明和紅色。 然后您就可以用不透明的顏色繪制任何東西。 如:
g.fillRect(50, 50, 100, 100);
如保羅所說
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.