java代码合成图片,Java图片合成

跪求图片生成器java全代码,要求可以画图和获取屏幕并且能保存。拜托各位大神了

正好写了一个,给你看看哈

创新互联主要从事网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务城北,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

import java.awt.*;

import java.awt.image.BufferedImage;

import java.io.File;

import java.util.Date;

import javax.imageio.ImageIO;

public class ScreenCapturer {

public static void main(String[] args) throws Exception{

Date date = new Date();

Robot rbt = new Robot();

BufferedImage bf =  rbt.createScreenCapture(new Rectangle(1440,900));  //这是屏幕分辨率  可以根据自己的屏幕修改

File file = new File("d://"+ date.toString().replace(" ","").replace(":","")+".jpg");  //这是保存路径D盘根目录

ImageIO.write(bf,"jpg",file);

System.out.println("截图成功!保存于D盘根目录下!时间:" + date.toString());

}

}

Java 图片拼接

图像无缩放?

这个就是个算法的问题吧,你就直接根据多少行多少列,挨个给像素点赋值啊。不过要求原始图像大小相同吧。

JAVA项目开发中程序、图片怎么组合在一起的

这是以段绘制水印的程序 还有透明效果 水印上去的就是一张图片 你应该看的懂

/**

* @see 绘制水印

* @param base 根目录

* @param file 图片文件

* @param image 图片源

* @param width 图片宽度

* @param height 图片高度

* */

private boolean printWater(String base, File file, BufferedImage image, int width, int height){

String fileName = file.getName();

String extend = fileName.substring(fileName.lastIndexOf(".") + 1);

//如果图片不是gif类型,并且图片小于1M就加水印

if(!"gif".toLowerCase().equals(extend) file.length() = 1024 * 1024){

try {

String waterImgPath = UtilityPropKit.getProp("waterImgPath");

BufferedImage water = ImageIO.read(new File(base + waterImgPath)); //水印

// 水印长度

int waWidth = water.getWidth();

// 水印高度

int waHeight = water.getHeight();

if(height waHeight * 2 width waWidth * 2){

//根据源图片尺寸,产生目标图片

BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

//获取Graphics2D

Graphics2D graph = img.createGraphics();

//绘制源图

graph.drawImage(image, 0, 0, width, height, null);

//在已经绘制的图片中加入透明度通道

graph.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.5f));

//绘制水印

graph.drawImage(water, 0, height-waHeight, waWidth, waHeight, null);

//释放对象

graph.dispose();

//保存文件

ImageIO.write(img, extend, file);

}

return true;

} catch (Exception e) {

e.printStackTrace();

}

}

return false;

}

java中利用html2image将html代码转换成图片时怎么调整生成图像的大小

用css样式定义图片的宽度和高度;但是这也需要看你图片的格式,图片定义宽度和高度后会失贞,建议采用gif格式的图片。

java 如何将多张JPG图片合成视频文件,比如:avi格式 或 mpg格式.

之前有做过图片合成视频的功能,大概代码就是这样,你可以看一下

/**

* 图片合成视频

* @param mp4SavePath 视频保存路径

* @param imageDir 图片地址

* @param rate 这个可以理解成视频每秒播放图片的数量

*/

public static boolean jpgToMp4(String mp4SavePath, String imageDir, double rate) {

FFmpegFrameRecorder recorder = null;

boolean flag = true;

try {

File[] files = FileUtils.fileSort(imageDir);

int [] widthArray = new int[files.length];

int [] heightArray = new int[files.length];

/**

* 获取合成视频图片的最大宽高,避免图片比例不一致最终合成效果差

*/

for (int i = 0; i files.length; i++) {

BufferedImage bufferedImage = ImageIO.read(files[i]);

widthArray[i] = bufferedImage.getWidth();

heightArray[i] = bufferedImage.getHeight();

}

/**

* 这个方法主要是防止图片比例达不到视频合成比例的要求,如果达不到下面条件视频则会无法播放

* 图片宽:必须要被32整除

* 图片高:必须要被2整除

*/

int [] maxWH = getImgMaxWH(widthArray,heightArray);

recorder = new FFmpegFrameRecorder(mp4SavePath,maxWH[0],maxWH[1]);

recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);

/**

* 视频质量:目前测试出来的是25-30最清晰,视频质量范围好像是0-40,具体可以自己慢慢测

*/

recorder.setVideoQuality(25);

recorder.setFormat("mp4");

recorder.setFrameRate(rate 0 ? rate : 1);

recorder.setPixelFormat(0);

recorder.start();

OpenCVFrameConverter.ToIplImage conveter = new OpenCVFrameConverter.ToIplImage();

/**

* 合成视频

*/

for(int i = 0; i files.length; i++ ){

opencv_core.IplImage image = cvLoadImage(files[i].getPath());

recorder.record(conveter.convert(image));

opencv_core.cvReleaseImage(image);

}

logger.info("合成成功");

} catch(Exception e) {

e.printStackTrace();

flag = false;

logger.error("合成失败");

} finally {

try {

if (recorder != null){

recorder.stop();

recorder.release();

}

} catch (FrameRecorder.Exception e) {

e.printStackTrace();

}

}

return flag;

}

jsp(java /html/javascript) 中有没有将两张图片合成一张图片的方法啊

Image image1 = ImageIO.read(new File(fileurl1));

Image image2 = ImageIO.read(new File(fileurl2));

int width = image.getWidth(5000);// 得到图片的长,宽

int height = image.getHeight(5000);

BufferedImage bufferedimage = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);// 构造一个内存图片

bufferedimage.getGraphics().drawImage(image1, 0, 0, width, height, null); // 将本地图片画入到内存图片

bufferedimage.getGraphics().drawImage(image2, 0, 0, image1.getWidth, image1.getHeight, null);

response.setContentType("image/jpeg");// 设置返回头部

response.setHeader("Pragma", "No-cache");

response.setHeader("Cache-Control", "no-cache");

response.setDateHeader("Expires", 0);

ImageIO.write(bufferedimage, "JPEG", response.getOutputStream()); //写到浏览器

大概方向就是这样,把图片放到内存中,然后绘制内存图片,把他们包含进去,然后把内存图片返回。

我乱改的,不能跑的。前不久刚做过

你可以试试

==========================================

几张图放一起没试过,你可以试试在绘了一张后,接着会第2张,他们的开始地点相同,看会不会被覆盖

当前题目:java代码合成图片,Java图片合成
分享地址:https://www.cdcxhl.com/article10/heeego.html

成都网站建设公司_创新互联,为您提供微信公众号企业建站定制网站网站排名企业网站制作响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设