簡體   English   中英

如何在半透明的小程序中繪制一個填充的矩形?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM