java如何判断图片文件的宽度和高度

java如何判断图片文件的宽度和高度,第1张

File file = new File("文件路径");

FileInputStream fis = new FileInputStream(file);

BufferedImage bufferedImg = ImageIOread(fis);

int imgWidth = bufferedImggetWidth();

int imgHeight = bufferedImggetHeight();

我之前有个源码丢失了,反编译后是这样子的。

大致就是先通过 Java Advanced Image IO (JAI, 在 Oracle 上下载) 把读取到内存,然后缩放后设置成 ImageIcon 显示到一个 Panel 上。直接让 Swing 自己读取时好像不会自动缩放的。

FileInputStream input = new FileInputStream(path);

BufferedImage image = ImageIOread(input);

image = scale(image, width, max);

 ProductFramethissetIcon(new ImageIcon(image));

 

 private BufferedImage scale(BufferedImage image, int from, int to)

    {

        if(from > to)

        {

            double scale = (double)to / (double)from;

            ParameterBlock pb = new ParameterBlock();

            pbaddSource(image);

            pbadd(scale);

            pbadd(scale);

            pbadd(00D);

            pbadd(00D);

            RenderingHints qualityHints = new RenderingHints(RenderingHintsKEY_RENDERING, RenderingHintsVALUE_RENDER_QUALITY);

            RenderedOp resizedImage = JAIcreate("SubsampleAverage", image, DoublevalueOf(scale), DoublevalueOf(scale), qualityHints);

            return resizedImagegetAsBufferedImage();

        } else

        {

            return image;

        }

    }

用 BufferedImage sourceImg = javaximageioImageIOread(in);可得到宽高 sourceImggetWidth()

sourceImggetHeight()

File file=new File(path);

ImageIOwrite(sourceImg, 后缀, file);

filelength();

将的文件转为File类型,有length方法可得到文件大小,格式就看文件名的后缀了

<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K

<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>

<img src="about:blank" id="fileChecker" alt="test" height="18"/>

//前面为网页

<script type="text/javascript">

var oFileChecker = documentgetElementById("fileChecker");

function changeSrc(filePicker)

{

oFileCheckersrc = filePickervalue;//读

}

//这个很重要,判断是否完全读完,否则判断大小不准确

oFileCheckeronreadystatechange = function ()

{

if (oFileCheckerreadyState == "complete")

{

checkSize();

}

}

function checkSize()

{

var limit = documentgetElementById("fileSizeLimit")value 1024;

if (oFileCheckerfileSize > limit)

{

alert("too large");

}

else

{

alert("ok");

}

}

</script>

后台获取到文件了么FilegetName就是文件名了

这个方法就是保存文件用的了 调用saveFile(filegetInputStrean,filegetName);

private void saveFile(InputStream inputStream, String fileName) {

        OutputStream os = null;        try {

            String path = "D:\\testFile\\";            // 2、保存到临时文件            // 1K的数据缓冲

            byte[] bs = new byte[1024];            // 读取到的数据长度

            int len;            // 输出的文件流保存到本地文件

            File tempFile = new File(path);            if (!tempFileexists()) {

                tempFilemkdirs();

            }

            os = new FileOutputStream(tempFilegetPath() + Fileseparator + fileName);            // 开始读取

            while ((len = inputStreamread(bs)) != -1) {

                oswrite(bs, 0, len);

            }

        } catch (IOException e) {

            eprintStackTrace();

        } catch (Exception e) {

            eprintStackTrace();

        } finally {            // 完毕,关闭所有链接

            try {

                osclose();

                inputStreamclose();

            } catch (IOException e) {

                eprintStackTrace();

            }

        }

    }

 建议使用PS软件进行调整。

*** 作步骤:

1打开需要处理的照片,在“图像”中找到“图像大小”。

2然后就可以进行对宽和高进行调整了。

注意:要把下方“约束比例”的勾去掉,不然是修改不了想要的数值。

应该是路径问题。

把你要显示的放在你的Test类里,

再把 :con = new ImageIcon("D:\\java程序\\1jpg");

改成 : icon = new ImageIcon("/1jpg");

你试试,看行不。

写这东西很麻烦的,给你个2思路:

方案1:要知道摄像头距物体的距离,在摄像头焦距不变的情况下,拍照获取,分析出中物体的长度,即物体像素的长度,然后根据距离转换成实际长度。

方案2:测量物体的附近有参照物,参照物已知长度。拍照后物体的像素和参照物的像素长度来计算。

类似这种测量精度不会很高。

以上就是关于java如何判断图片文件的宽度和高度全部的内容,包括:java如何判断图片文件的宽度和高度、Javase中要显示一个图片,但是图片尺寸太大了,如何让图片能完全显示在规定区域内、java后台怎样规定上传的图片的大小格式,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9446623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存