`
zyslovely
  • 浏览: 227744 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 图片合并

 
阅读更多
List<FileStreamVO> fileStreamList = photoFileUtils.getPhotoFileStreamListByPhotoList(photoList);
			int width = 44;
			int height = 44;
			int bigWidth = 179;
			int bigHeight = 134;
			List<int[]> image44List = new ArrayList<int[]>();
			// 压缩75的图为44
			for (FileStreamVO fileStream : fileStreamList) {
				try {
					// 压缩75小图的流
					Image image = ImageIO.read(fileStream.getInputStream());
					BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
					Graphics graphics = bufferedImage.getGraphics();
					// graphics.setColor(Color.white);
					// graphics.fillRect(0, 0, width, height);
					graphics.drawImage(image, 0, 0, width, height, null);
					int[] rgbArray = new int[width * height];
					image44List.add(bufferedImage.getRGB(0, 0, width, height, rgbArray, 0, width));
					if (0 == m) {
						itemlist.append(fileStream.getPhotoid());
						m = m + 1;
					} else if (m < 12) {
						itemlist.append(",").append(fileStream.getPhotoid());
						m = m + 1;
					}
				} catch (IOException e) {
					logger.error("createLovePhotoFolderCover  error lovePhotoFolderId:" + lovePhotoFolderId);
				}
			}
			BufferedImage newImage = new BufferedImage(bigWidth, bigHeight, BufferedImage.TYPE_INT_RGB);
			Graphics graphics = newImage.getGraphics();
			graphics.setColor(Color.white);
			graphics.fillRect(0, 0, bigWidth, bigHeight);
			graphics.drawImage(newImage, 0, 0, bigWidth, bigHeight, null);
			if (image44List.size() < 12) {
				logger.error("createLovePhotoFolderCover  error image44List.length<12 lovePhotoFolderId:"
						+ lovePhotoFolderId);
				if (photoList.size() >= 1) {
					this.updateCountOfLovePhotoFolder(lovePhotoFolderId, userId);
					int count = lovePhotoUserItemService.getLovePhotoUserItemCountByFolderId(lovePhotoFolderId, userId);
					lovePhotoFolderDao.updateLovePhotoFolderCover(lovePhotoFolderId, photoList.get(0).getTinyDocId(),
							ImgStorageType.PHOTO_PHOTO163, count, photoList.get(0).getId() + "");
					// 到DFS上删除旧的封面数据
					if (lovePhotoFolder.getItemList().split(",").length == 12) {
						fileService.deleteFile(lovePhotoFolder.getImageId());
					}
				}
				return;
			}
			// 生成12个小图的封面
			for (int i = 0; i < 3; i++) {
				for (int j = 0; j < 4; j++) {
					newImage.setRGB(width * j + j, height * i + i, width, height, image44List.get(i * 4 + j), 0, width);
				}
			}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics