社区
Java SE
帖子详情
如何实现把文字和图片合成一张图片
xiyuanna
2009-02-03 11:32:11
加精
比如我现在 要把我这个字和一张图片放到一起组成一张新图,应该怎么实现阿
...全文
14021
137
打赏
收藏
如何实现把文字和图片合成一张图片
比如我现在 要把我这个字和一张图片放到一起组成一张新图,应该怎么实现阿
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
137 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我纯洁全身都纯洁
2012-10-25
打赏
举报
回复
二楼好方法啊!
浅巷丶长歌
2012-09-27
打赏
举报
回复
学习了 没准以后用的到
david369993
2012-09-25
打赏
举报
回复
Mark
helloguoxing
2012-08-09
打赏
举报
回复
public static void htmlToImage(String str, String fileName){
HtmlImageGenerator imageGenerator = new HtmlImageGenerator();
imageGenerator.loadHtml(str);
imageGenerator.saveAsImage(fileName);
}
---顺便请教各位大侠个问题,如何将A图片与B图片分上下合成一张图片呢
helloguoxing
2012-08-09
打赏
举报
回复
添加水印只是覆盖到原图上的。
Muiz_chen
2012-07-05
打赏
举报
回复
不是有简单的方法嘛。。。就是直接用控制台搞定的那个
s478853630
2012-06-25
打赏
举报
回复
[Quote=引用 100 楼 的回复:]
引用92楼,如果不是文字,而是图片怎么改啊?
[/Quote]
看代码:
/**
* 绘制水印
* @param imgPath 图片路径(物理路径)
* @param waterPath 水印图片路径(物理路径)
* */
public void water(String imgPath, String waterPath) {
try {
String extend = imgPath.substring(imgPath.lastIndexOf("."));
if (!".gif".toLowerCase().equals(extend)) {// 如果图片不是gif类型就加水印
BufferedImage src = ImageIO.read(new File(imgPath));
int width = src.getWidth();
int height = src.getHeight();
BufferedImage water = ImageIO.read(new File(waterPath));
int waWidth = water.getWidth();
int waHeight = water.getHeight();
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics graph = image.createGraphics();
graph.drawImage(src, 0, 0, width, height, null);
if(height > waHeight * 2 && width > waWidth * 2) {
graph.drawImage(water, 0, height-waHeight, waWidth, waHeight, null);
graph.dispose();
OutputStream out = new FileOutputStream(imgPath);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.flush();
out.close();
}
image.flush();
water.flush();
src.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
}
zlb0hao
2012-06-11
打赏
举报
回复
添加水印,学习了!
Keybo-X
2012-04-08
打赏
举报
回复
用ps可以,若要点击文字或图片跳转页面,算好文字或图片的位置,点击调用onclick方法即可。
小格调100
2012-03-30
打赏
举报
回复
/**
*
*/
import java.awt.*;
import java.io.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import javax.imageio.*;
public class ImgBean {
public static void ImgYin(String s, String ImgName) {
byte[] bytes = null;
try {
String str = s;
File _file = new File(ImgName);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
g.setColor(Color.black);
g.setFont(new Font("宋体", Font.PLAIN, 20));
g.drawString(str, wideth - 150, height - 10);
g.dispose();
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
saveImage(image, out1);
bytes = out1.toByteArray();
out1.close();
FileOutputStream out2 = new FileOutputStream(ImgName);
out2.write(bytes);
out2.close();
} catch (Exception e) {
System.out.println(e);
}
}
public static void saveImage(BufferedImage img, OutputStream out1)
throws Exception {
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out1);
encoder.encode(img);
}
public static void main(String[] args) {
ImgYin("我要加的水印", "d:/testP.jpg");
System.out.println("over");
}
}
小格调100
2012-03-30
打赏
举报
回复
/**
*
*/
import java.awt.*;
import java.io.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import javax.imageio.*;
public class ImgBean {
public static void ImgYin(String s, String ImgName) {
byte[] bytes = null;
try {
String str = s;
File _file = new File(ImgName);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
g.setColor(Color.black);
g.setFont(new Font("宋体", Font.PLAIN, 20));
g.drawString(str, wideth - 150, height - 10);
g.dispose();
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
saveImage(image, out1);
bytes = out1.toByteArray();
out1.close();
FileOutputStream out2 = new FileOutputStream(ImgName);
out2.write(bytes);
out2.close();
} catch (Exception e) {
System.out.println(e);
}
}
public static void saveImage(BufferedImage img, OutputStream out1)
throws Exception {
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out1);
encoder.encode(img);
}
public static void main(String[] args) {
ImgYin("我要加的水印", "d:/testP.jpg");
System.out.println("over");
}
}
d41741
2012-02-02
打赏
举报
回复
厉害哦
xxzf426214
2011-10-29
打赏
举报
回复
膜拜高人啊
疯狂的毛毛雨
2011-09-22
打赏
举报
回复
mark
llh_624
2011-09-09
打赏
举报
回复
mark~~
msgo1
2011-09-08
打赏
举报
回复
收藏日后定有大用啊
wangziwangzi1987
2011-08-30
打赏
举报
回复
学习中
QQ371496669
2011-08-10
打赏
举报
回复
向前辈学习
绿素潭竹
2011-07-23
打赏
举报
回复
学习了
zhanglw_origin
2011-04-14
打赏
举报
回复
顶2楼,找了好久才找到啊...
加载更多回复(103)
将汉字和
图片
合成
一张
图片
将
文字
和
图片
合成
一张
图片
,
实现
新
图片
的生成以及效果
图片
合成
处理类php
php相关
图片
处理 可以
实现
两张
图片
合并 并设置logo 以及
合成
后的
图片
的大小以及设置想要显示的
文字
使用Python
实现
语音
合成
系统
Python项目实战:搭建属于你自己的一个语音
合成
系统。 【为什么学Python】 Python 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并且开始着手出版《跟老齐学Python》。时至今日,已经无需争论。Python给我们带来的,不仅仅是项目上的收益,我们更可以从它“开放、简洁”哲学观念中得到技术发展路线的启示。 借此机会,老齐联合CSDN推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。
小程序利用Canvas绘制
图片
和竖排
文字
闲暇时间抽个空写了个三国杀武将手册的小程序,中间有个需求设计的是
合成
武将皮肤图、竖排的武将姓名、以及小程序码,然后提供保存
图片
到相册,最终让用户可以分享到朋友圈或其他平台。
合成
图片
应该按照 Canvas 的文档来做都没什么问题,主要是有个竖排
文字
的需求,这里和大家分享一下。 正文 首先放
一张
最终保存到相册的
图片
吧~ (此
图片
来源于网络,如有侵权,请联系删除! ) 自我感觉良好,至少达到了我自己的预期吧~~~ 下面让我们一步一步来看看如何
实现
的吧。 整个
图片
分为三个部分: 武将
图片
小程序码 武将
文字
信息 先来看一下 wxml 里面的代码,主要是放了一个 canvas 标签,
LayeredSkin 3D翻转,QQ概念版登录窗口等Demo
LayeredForm : 支持窗体动画特效,透明,可以和LayeredControl
实现
任意透明效果等。。。包含LayeredWindowForm的功能 支持一部分带有Paint事件的普通控件,但是不能
实现
普通控件的背景透明效果! 控件类:Controls HotKey:支持全局热键绑定,事件驱动,可以开启和关闭 LayeredButton:按钮控件,支持按钮颜色设置,
图片
按钮,如果只设置
一张
正常状态下的按钮
图片
,则有鼠标移入加亮效果和鼠标按下变暗效果。边框设置,
文字
效果设置。 LayeredCheckButton:对LayeredButton的扩展,支持状态切换。 LayeredDragBar:支持对父容器的尺寸拖拽调整 LayeredFlashBox:支持透明Flash播放(当前版本不可用,请勿使用!) LayeredLabel:对
文字
的显示,
文字
效果设置 LayeredListBox:支自定义列表项目,支持横向和纵向滚动,支持平滑滚动。 LayeredPanel:在Layered模式下的容器控件 LayeredPictureBox:支持Gif播放,支持多张
图片
合成
动画播放。播放Gif时候不要频繁暂停和播放动画,容易导致线程阻塞。 LayeredTextBox:Layered模式下的文本编辑器。支持水印
文字
设置 LayeredTrackBar:进度条控件,支持
图片
进度条定义 动画类:Animations 通过设置LayeredForm的Animation.Effect属性来定义窗体动画特效。 包含了以下特效类:BlindWindowEffect、FadeinFadeoutEffect、GradualCurtainEffect、LevelScrollEffect、RandomCurtainEffect、RotateZoomEffect、ThreeDTurn、ZoomEffect 可以通过
实现
IEffects接口来
实现
自定义特效 DirectUI类:DirectUI 包含几个DirectUI控件。用于对以上控件的扩展和美化。部分LayeredControl包含DUIControl属性可以向其添加DirectUI控件。支持通过集合编辑器里面添加,只是不能在集合编辑器里面绑定事件,需要手动写代码绑定。通过集合编辑器添加的控件不一定能马上在设计器里看到效果,因为会有图像缓存,可能需要尝试调整控件大小等方式强制控件重绘,就可以看到效果了。 LayeredControl可以支持在普通窗体上使用。
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章