在Java中,对于任何类型或大小的图像,如何将图像调整为默认大小? 最佳答案 您无法轻松地将图像从一种文件大小调整为另一种文件大小,但是,大多数JPG/PNG/GIF等。根据其分辨率,它们往往具有相似的文件大小。例如,一个200kb的压缩JPG通常可以说是1280x960大小。如果是这种情况,您只需将所有调整大小操作作为目标,将目标图像调整为该大小,并大致获得您想要的大小限制。一个非常简单的方法是使用非常简单的javaimageresizinglibrary(Apache2许可证),一切都适合您。调整大小的示例代码如下所示:Buff
编辑两个为了防止刻薄的评论和单行答案遗漏重点:IFF就像调用setDoubleBuffered(true)一样简单,那么我如何访问当前离线缓冲区,以便我可以开始弄乱BufferedImage的底层像素数据缓冲区?我花时间写了一段运行的代码(看起来也很有趣)所以我真的很感激答案实际回答(真是令人震惊;)我的问题并解释这是什么/如何工作而不是一个-类轮和尖刻的评论;)这是一段可以在JFrame上弹跳正方形的有效代码。我想知道可用于转换这段代码以使其使用双缓冲的各种方法。请注意,我清除屏幕并重新绘制正方形的方式并不是最有效的,但这实际上不是这个问题的目的(在某种程度上,为了这个例子,它有点慢
我想制作一个带有圆角的图像。图像将来自输入,我将其圆角然后保存。我使用纯java。我怎样才能做到这一点?我需要一个像这样的功能publicvoidmakeRoundedCorner(Imageimage,FileoutputFile){.....}编辑:添加了一张图片以供引用。 最佳答案 我建议使用这种拍摄图像并生成图像并将图像IO保持在外部的方法:编辑:在Java2DTrickery:SoftClipping的帮助下,我终于成功地制作了Java2D软剪辑图形。由克里斯坎贝尔。遗憾的是,这不是Java2D开箱即用的一些Renderh
简而言之,我正在寻找一种使用batik库从SVG文件制作ImageIcon的方法。我不想先将SVG光栅化到磁盘,我只想能够从jar文件中提取svg并将其作为UI元素放置。我觉得这应该相当容易,但batikjavadocs并没有告诉我我需要知道什么。(为什么选择batik?好吧,我们已经在使用它了,所以我们不必运行另一个合法的图书馆。) 最佳答案 这真的很简单,只是不是很直观。您需要扩展ImageTranscoder。在createImage方法中,您分配一个BufferedImage,将其作为成员变量缓存,然后返回。writeIma
谁能解释一下如何从BufferedImage中获取rgb值数组?我在BufferedImage中有一个灰度图像,需要提取一个0到255值的数组来描述图像。我知道BufferedImage是正确的,因为我可以将它保存为PNG。但是,如果我使用int[]dataBuffInt=((DataBufferInt)heightMap.getDataBuffer()).getData();我会得到一堆巨大的负数。我搜索了一段时间,看到了一些关于移动某些值的引用资料(post),但我并不真正理解他们在说什么。基本上,我想从BufferedImage转换为0到255个RBG值的数组。我不确定我是否正确
我想使用java从视频文件(mov)中获取帧样本(jpeg)。是否有捷径可寻。当我在谷歌搜索时,我只能找到从多个jpg制作mov。我不知道也许我找不到正确的关键字。 最佳答案 我知道最初的问题已经解决,但是,我发布这个答案以防其他人像我一样被卡住。从昨天开始,我已经尝试了一切,我的意思是要做到这一点。所有可用的Java库要么已过时,不再维护,要么缺少任何可用的文档(严重吗??!?!)我尝试过JFM(旧且无用)、JCodec(没有任何文档)、JJMpeg(看起来很有希望,但由于缺乏Java类文档而使用起来非常困难和麻烦)、OpenCV
我想使用java从视频文件(mov)中获取帧样本(jpeg)。是否有捷径可寻。当我在谷歌搜索时,我只能找到从多个jpg制作mov。我不知道也许我找不到正确的关键字。 最佳答案 我知道最初的问题已经解决,但是,我发布这个答案以防其他人像我一样被卡住。从昨天开始,我已经尝试了一切,我的意思是要做到这一点。所有可用的Java库要么已过时,不再维护,要么缺少任何可用的文档(严重吗??!?!)我尝试过JFM(旧且无用)、JCodec(没有任何文档)、JJMpeg(看起来很有希望,但由于缺乏Java类文档而使用起来非常困难和麻烦)、OpenCV
我想使用Java将gif图像转换为jpeg。它适用于大多数图像,但我有一个简单的透明gif图像:Inputgifimagehttp://img292.imageshack.us/img292/2103/indexedtestal7.gif[如果图像丢失:它是一个带有透明像素的蓝色圆圈]当我使用以下代码转换此图像时:Filefile=newFile("indexed_test.gif");BufferedImageimage=ImageIO.read(file);Filef=newFile("indexed_test.jpg");ImageIO.write(image,"jpg",f);
我想使用Java将gif图像转换为jpeg。它适用于大多数图像,但我有一个简单的透明gif图像:Inputgifimagehttp://img292.imageshack.us/img292/2103/indexedtestal7.gif[如果图像丢失:它是一个带有透明像素的蓝色圆圈]当我使用以下代码转换此图像时:Filefile=newFile("indexed_test.gif");BufferedImageimage=ImageIO.read(file);Filef=newFile("indexed_test.jpg");ImageIO.write(image,"jpg",f);
我正在尝试执行以下代码:privatevoidcrop(HttpServletRequestrequest,HttpServletResponseresponse){intx=100;inty=100;intw=3264;inth=2448;Stringpath="D:images\\upload_final\\030311175258.jpg";BufferedImageimage=ImageIO.read(newFile(path));BufferedImageout=image.getSubimage(x,y,w,h);ImageIO.write(out,"jpg",newFil