GeXiangDong

精通Java、SQL、Spring的拼写,擅长Linux、Windows的开关机

0%

用Java生成图片,在图上叠加图,图上写字的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;

public class ImageDrawer {

public static void main(String[] argvs) throws Exception {
//获取一张图片做底图
BufferedImage bg = ImageIO.read(ImageDrawer.class.getClassLoader().getResourceAsStream("bg.jpg"));

Graphics2D g = bg.createGraphics();

//设置字体/颜色
Font font = new Font("微软雅黑", Font.PLAIN, 50);
g.setFont(font);
g.setColor(Color.BLACK);

g.drawString("文字", 200, 150);

//把另外一个图描画在底图上
BufferedImage img = ImageIO.read(ImageDrawer.class.getClassLoader().getResourceAsStream("icon.jpg"));
//这个方法画全图,按照后两个参数设置的宽高缩放
g.drawImage(img, 200, 200, 100, 100, null);

//截取图片的一部分
BufferedImage subImg = img.getSubimage(70, 70, 120, 120);
g.drawImage(subImg, 20, 20, 60, 60, null);

//保存图片
ImageIO.write(bg, "jpeg", new File("target/newimg.jpg"));
}
}

页面上HTML的头部一些信息会影响此功能的使用。

是否全屏模式webapp

1
<meta name="apple-mobile-web-app-capable" content="no">

如果content=”yes”,则在一个无地址栏、无菜单的浏览器中打开,如果是纯JS的应用,用这种模式比较好。默认值为no。 如果为no,或不写,则会在safari中打开。

全屏模式下:<a href=”xxx.html”>click me</a> 之类的链接会导致打开新的Safari窗口,如果不想打开新窗口,用Javascript代替。
Javascript的 Window.open 不会打开新窗口,只会替换当前窗口的URL。

每次重新点击图标,会启动不同的session和服务器连接。

图标

1
2
<link rel="apple-touch-icon" href="/webapplogo.png" /> 
<link rel="apple-touch-icon-precomposed" href="/webapplogo.png" />

有precomposed,不加反光效果,无的会自动增加。 另外还可以设置sizes=”57×57″sizes=”114×114″sizes=”72×72″sizes=”144×144″ 来对应iphone、ipad、视网膜屏幕、非视网膜屏等不同设备。 也可只设置一个让IOS自动缩放。

启动等待图片

1
<link rel="apple-touch-startup-image" href="/startup.png">

详细信息可参考: IOS 手册