1
我正在处理照片应用程序,我需要一些建议,我应该如何使用Graphics/ImageMagick解决以下问题。GraphicsMagick裁剪:显示将裁剪的内容
- 考虑到与分辨率的照片:2048×1536
- 给出一个指定的分辨率:1864x1228
- 调整图像的大小和与图像填充指定的分辨率(现在是1864x1398)
- 亮点原来的区域图像将被裁剪(以1864x1228)
我有调整大小,并适当地裁剪图像的工作溶液:
IMOperation resizeOp = new IMOperation();
resizeOp.addImage();
resizeOp.resize(MAX_WIDTH, MAX_HEIGHT, "^");
resizeOp.gravity("center"); //centered image with crop the top/bottom parts
resizeOp.crop(MAX_WIDTH, MAX_HEIGHT, 0, 0);
resizeOp.addImage();
ConvertCmd cmd = new ConvertCmd(true);
cmd.run(resizeOp, fileName, outputFileName); //cropped, center filled image (1864x1228)
问题是我该如何做以下操作:显示完整图像而不是裁剪版本,并突出显示图像的区域将被裁剪。我更喜欢在裁剪图像周围使用红色边框,并使用alpha图层裁剪部分进行显示。
我有一个想法,我不太喜欢:从原始图层生成一个图像与阿尔法层,并把裁剪图像与红色边框。它似乎并不是最佳的解决方案:)我的另一个想法是用javafx imageviews来做到这一点,但它似乎并不理想。
注:
- 我使用im4java与通用汽车。我接受一个命令行的解决方案太(我会弄清楚在im4java张贴;)
- 我们可以限制只左右水平图像交谈中,我可以找出垂直操作
任何评论都将受到高度赞赏。