角丸にチャレンジ その2
2007/12/14
java
swingx
角丸
Javaです。角丸にチャレンジその2です。
角丸いいですよね。角丸が気になりはじめるとあちらこちらに角丸が存在することに気がつきました。
前回:角丸にチャレンジ - プログラマメモ2
前回ためした方法と違う方法で行いました。
clipしてます。java.awt.geom.Areaを使用しています。
java.awt.geom.Areaは使い方によっては柔軟にいろいろな形状がつくれそうです。
※一部にSwingXを使用しています。org.jdesktop.swingx.graphics.GraphicsUtilities
BufferedImage image = GraphicsUtilities
.toCompatibleImage(originalImage);
int w = image.getWidth();
int h = image.getHeight();
BufferedImage round = new BufferedImage(w, h,
BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = round.createGraphics();
g2.setClip(new Area(new RoundRectangle2D.Double(0, 0, w, h,
arc, arc)));
g2.drawImage(image, 0, 0, null);
g2.dispose();
setImage(round);
.toCompatibleImage(originalImage);
int w = image.getWidth();
int h = image.getHeight();
BufferedImage round = new BufferedImage(w, h,
BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = round.createGraphics();
g2.setClip(new Area(new RoundRectangle2D.Double(0, 0, w, h,
arc, arc)));
g2.drawImage(image, 0, 0, null);
g2.dispose();
setImage(round);
Java Web Startにしてみました。
起動して画像をドロップしてください。スライダーで角丸の丸っこさを決めます。
参考
Java No.4〜言語別の習作集〜
AreaClipTestPanel
: