1.文字压缩显示
参照java自带的demo下的jfc/java2d的ColorConvert,做了简单的修改。文字压缩显示的思路是将图片的宽度设为期望的宽度即可
public class ColorConvert extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Dimension d = getSize();
render(d.width, d.height / 2, (Graphics2D) g);
}
public void render(int w, int h, Graphics2D g2) {
BufferedImage srcImg =
new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D imageG2 = srcImg.createGraphics();
//设置白底黑字
imageG2.setBackground(Color.WHITE);
imageG2.clearRect(0, 0, w, h);
imageG2.setColor(Color.BLACK);
String text = "标题:订货单位";
Font font = new Font("宋体", Font.BOLD, 28);
FontRenderContext frc = g2.getFontRenderContext();
TextLayout tl = new TextLayout(text, font, frc);
tl.draw(imageG2, 50, 50);
//文字的宽度将压缩一半显示
g2.drawImage(srcImg, 0, 0, srcImg.getWidth()/2, srcImg.getHeight(), null);
//文字正常显示
g2.drawImage(srcImg, 0, srcImg.getHeight(), srcImg.getWidth(), srcImg.getHeight(), null);
}
public static void main(String s[]) {
JFrame f = new JFrame();
f.setSize(400, 500);
f.getContentPane().add(new ColorConvert());
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
2.空心字
public class TestPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
tt(g);
}
private void tt(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
java.awt.font.FontRenderContext frc = g2.getFontRenderContext();
java.awt.Font f = new java.awt.Font("宋体", java.awt.Font.PLAIN, 80);
java.awt.font.TextLayout tl = new java.awt.font.TextLayout("i序号_i", f, frc);
AffineTransform translateInstance = AffineTransform.getTranslateInstance(1, 200);
java.awt.Shape sha = tl.getOutline(translateInstance);
g2.setColor(java.awt.Color.BLUE);
g2.draw(sha);
//g2.fill(sha);//如果去掉这行就是空心字了
}
public static void main(String[] args) {
JFrame f = new JFrame();
f.getContentPane().add(new TestPanel());
f.setSize(400, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
分享到:
相关推荐
在IOS中使用quartz2d绘制一个比较复杂的图形—五角星
使用Java Graphics2D及相关类绘制复杂图形并输出图片文件到指定位置!
Graphics2D g2D = (Graphics2D)g; //获取图形环境 g2D.draw(gPath); //绘制路径 } public static void main(String[] args) { new IrregularShapeDemo(); } protected void ...
JFreeSVG是Java(tm)平台的矢量图形库,允许您使用标准Java2D绘图API(Graphics2D)生成SVG格式的内容。 JFreeSVG重量轻,速度快,除了Java运行时(1.6或更高版本)外没有其他依赖项。
Java绘制图形和线段,绘制2D图形、设置绘制线条的颜色,用新的画刷绘制虚线,可以绘制实线和曲线,绘制颜色为白色,一个JAVA图形绘图的实例程序,以下代码仅供参考: public LineDemo(){ super("实线与虚线"); ...
Graphics2D g2=(Graphics2D)g; //得到2D图形 Dimension dim = this.getSize(); //得到组件尺寸 g2.setColor(Color.white); //设置绘制颜色为白色 g2.fillRect(0, 0, dim.width, dim.height); //填充...
qt新的绘制2D图形框架,取代QT3中的Canvas模块。GraphicsView框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能。
Shapes2D 在MonoGame / XNA中绘制2D几何图形,包括诸如线和多边形之类的图元。样品这些样本包含在源中。如何在网格中绘制简单形状的示例。 您可以在示例代码中轻松更改比例,网格类型(三角形,正方形,六边形)和...
若要创建PDEGraphics2D实例,请向构造函数传递标准Graphics2D对象的实例以及要绘制的画布的大小:PDEGraphics2D g =新的PDEGraphics2D(Graphics2D g,int w,int h)或PDEGraphics2D g =新的PDEGraphics2D...
Programming with Quartz 2D and PDF Graphics in Mac OS X 一本详细介绍如何在MAC系统和IOS系统 绘制2D图形和生成PDF的电子资料,非常有用,值得收藏。
前言 ...Canvas即画布,我们需要做的就是使用之前设置好的Paint来绘制图形。系统通过 Canvas 为我们提供了一些基础的绘图 API : 1、canvas.drawPoint(float x, float y, @NonNull Paint paint);
Graphics2D类是一个Java类,用于在图像上绘制图形。该类提供了多种方法来绘制图形,例如绘制矩形、圆形、线条等。在生成二维码图片时,需要使用Graphics2D类来绘制二维码。 知识点4:二维码的生成 二维码是一种用于...
Java绘制不规则图形的源代码,类似于一个Java小画板,可以画出一些基于线条的图形,比如曲线,直线,还可用来写字,示例截图如上图所示。以下是相关源代码: protected void processMouseEvent(MouseEvent e) { //...
citro2d:使用Nintendo 3DS的PICA200 GPU绘制2D图形的库
Graphics2D g2D = (Graphics2D)g; setBackground(Color.white); setForeground(Color.black); int charH = 16; //最大字符高度 int gridW = getWidth() / 5; //绘图网格宽度 int gridH = getHeight...
Graphics2D g2=(Graphics2D)g; //得到2D图形 Dimension dim = this.getSize(); //得到组件尺寸 g2.setColor(Color.white); //设置绘制颜色为白色 g2.fillRect(0, 0, dim.width, dim.height); //填充整个组件...
完整的android工程,介绍绘制带有渐变色的几何图形,主要使用graphics类
Graphics 类支持绘制图形主要包括文本、图像、2D 几何图形等。Graphics 类没有构造方式,猎取对象的途径有三种: Canvas 类中的 paint 方法、GameCanvas 类中的 getGraphics 方法、通过 Graphics 的静态方法。 ...
此存储库包含用于2D图形绘制的API。 在此阐述了创建此板条箱的动机。 理想情况下,它将成为帮助跨平台的一层。 此存储库的结构为核心API板条箱,“ piet”和每个后端的单独板条箱。 这种结构的一个动机是,可以在...
ZRender 一个轻量级的图形库,可为提供2d绘制。文献资料执照BSD 3条款许可百度公司(c)2017版权所有。保留所有权利。 如果满足以下条件,则允许以源代码和二进制形式进行重新分发和使用,无论是否经过修改,都可以...