首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java交叉剖面线纹理

Java交叉剖面线纹理
EN

Stack Overflow用户
提问于 2009-04-27 18:46:53
回答 1查看 3.8K关注 0票数 4

有人知道如何在Java中重新创建交叉散列纹理吗?下面的C#代码展示了如何在.NET框架中实现这一点。Java代码片段很接近,但我一直无法正确地将行旋转45度。

C#

代码语言:javascript
复制
HatchBrush crossHatch =
        new HatchBrush(HatchStyle.Cross, somecolor, somecolor);

Java

代码语言:javascript
复制
BufferedImage bufferedImage =
        new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB);

Graphics2D g2 = bufferedImage.createGraphics();

g2.setColor(Color.BLUE);
g2.fillRect(0, 0, 5, 5);
g2.setColor(pinColor);
g2.fillOval(0, 0, 5, 5);

// paint with the texturing brush
Rectangle2D rect = new Rectangle2D.Double(0, 0, 5, 5);
g2d.setPaint(new TexturePaint(bufferedImage, rect));
g2d.fill(shape);

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-04-27 19:13:24

这是一个应该以5像素的间隔交叉阴影的代码:

代码语言:javascript
复制
BufferedImage bufferedImage =
        new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB);

Graphics2D g2 = bufferedImage.createGraphics();
g2.setColor(backColor);
g2.fillRect(0, 0, 5, 5);
g2.setColor(stripeColor);
g2.drawLine(0, 0, 5, 5); // \
g2.drawLine(0, 5, 5, 0); // /

// paint with the texturing brush
Rectangle2D rect = new Rectangle2D.Double(0, 0, 5, 5);
g2d.setPaint(new TexturePaint(bufferedImage, rect));
g2d.fill(shape);
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/794780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档