- 浏览: 384710 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
消失-IT超市:
方便加一下你的QQ吗,我的QQ是252375879,有个问题请 ...
js调用ocx控件(读写IC卡) -
mszb00123:
很有用
Extjs之--图片上传器 -
shouhouhuakai:
好崇拜,不错
URLConnection的连接、超时、关闭用法总结 -
wujierd:
写得好详细,学习了
URLConnection的连接、超时、关闭用法总结 -
paruke:
请问这个能加上图片旋转功能么 我试了一下 发现寻找中心点是个问 ...
Extjs之--图片浏览器
1、总体描述
(1)图片压缩
(2)读取压缩后的图片文件,base64进行编码,拼接xml字符串
(3)使用http传输xml
(4)接收端解析xml,还原图片文件
2、图片压缩demo
import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class ImageCompress { public static void ImageScale(String path, String fileName, String toFileName) { try { Image image = javax.imageio.ImageIO.read(new File(path + fileName)); int imageWidth = image.getWidth(null); int imageHeight = image.getHeight(null); //计算缩放比例 float scale = getRatio(imageWidth, imageHeight, 130, 130); imageWidth = (int) (scale * imageWidth); imageHeight = (int) (scale * imageHeight); image = image.getScaledInstance(imageWidth, imageHeight,Image.SCALE_AREA_AVERAGING); // Make a BufferedImage from the Image. BufferedImage mBufferedImage = new BufferedImage(imageWidth,imageHeight, BufferedImage.TYPE_INT_RGB); //获取图形上下文 Graphics2D g2 = mBufferedImage.createGraphics(); //绘制图像到目标位置 g2.drawImage(image, 0, 0, imageWidth, imageHeight, Color.white, null); g2.dispose(); float[] kernelData2 = { -0.125f, -0.125f, -0.125f, -0.125f, 2,-0.125f, -0.125f, -0.125f, -0.125f }; Kernel kernel = new Kernel(3, 3, kernelData2); //使用卷积核的卷积是一种通过输入像素来计算输出像素的空间运算,方法是将核与输入像素邻域相乘。这种运算使得直接邻域可按核数学指定的方式影响输出像素 //ConvolveOp.EDGE_NO_OP将位于源图像边缘的像素复制为目标中相应的像素,不加修改。 //构造给定 Kernel、边缘条件和 RenderingHint 对象(可以为 null)的 ConvolveOp。 ConvolveOp cOp = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); //对 BufferedImage 执行卷积运算。 mBufferedImage = cOp.filter(mBufferedImage, null); FileOutputStream out = new FileOutputStream(path + toFileName); //可以正常实现bmp转jpg、png转jpg、gif转jpg JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(mBufferedImage); out.close(); } catch (FileNotFoundException fnf) { fnf.printStackTrace(); } catch (IOException ioe) { ioe.printStackTrace(); } } public static float getRatio(int width, int height, int maxWidth,int maxHeight) { float Ratio = 1.0f; float widthRatio; float heightRatio; widthRatio = (float) maxWidth / width; heightRatio = (float) maxHeight / height; if (widthRatio < 1.0 || heightRatio < 1.0) { Ratio = widthRatio <= heightRatio ? widthRatio : heightRatio; } return Ratio; } public static void main(String[] args) { ImageScale("", "SNV31539.JPG", "SNV31539_small.JPG"); } }
3、读取压缩后的图片文件,base64进行编码,拼接xml字符串
public static String bin2XmlString(File file) { byte[] data = null; FileInputStream input = null; String ret = null; int n; try { data = new byte[(int) file.length()]; input = new FileInputStream(file); n = input.read(data); input.close(); ret = new String(Base64.encodeBase64(data, true)); } catch (Exception e) { e.printStackTrace(); } return ret; }
4、接收端解析xml,还原图片文件
public static boolean xmlString2Bin(String base64String, File file) { byte[] data; FileOutputStream output = null; boolean ret = false; try { data = Base64.decodeBase64(base64String.getBytes()); output = new FileOutputStream(file); output.write(data); output.close(); ret = true; } catch (Exception e) { e.printStackTrace(); } return ret; }
发表评论
-
不负时光,继续学习
2017-04-11 17:04 6084月,一年当中最好的时节,和风煦日春意浓; ... -
生活依旧,做好自己
2017-02-04 16:51 389新年开工第二天,工作之余翻看了电脑上以前的文 ... -
2016年最后一天随笔
2016-12-30 14:48 5622016年马上就要过去了,回顾过去的一年感 ... -
excel中汉字转拼音全拼和简拼
2016-09-12 11:45 1519一、汉字转全拼 1.启动Excel 2003(其它版本请仿 ... -
年底总结3-工作中遇到的错误及解决方式
2015-02-16 11:28 988在过去的一年工作中遇到的一些问题及解决方式,如下: -- ... -
数据库方面遇到的问题总结
2013-05-23 20:29 9561、mysql服务自动关闭处理方式 我的电脑 -> ... -
resin2.1.17报错:META-INF/c.tld:6 unknown element `xsi:schemaLocation' in `taglib'
2012-08-20 18:37 30411、问题描述 resin启动后,访问jsp页面 ... -
Extjs grid 合计
2012-05-31 14:28 18781、直接在客户端统计,动态的修改Grid 2、代码如下 ... -
mysql函数使用-字符串处理
2012-05-29 17:15 11411、按地区统计数据 select q.psn,t.na ... -
spring JdbcTemplate 批量插入
2012-05-27 09:13 20011、通过批量操作减少与数据库连接所消耗的资源。 2、J ... -
JDBC连接Sql server
2012-03-07 10:24 16711、采用微软提供的ms sql server jdbc dri ... -
java下将汉字转换为拼音
2012-01-15 18:06 11701、代码如下,不过有些汉字不支持,如:茜 import ... -
年底总结2-spring多线程任务调度
2012-01-01 13:55 54171、spring framework开发参考手册中第23掌& ... -
年底总结1-tomcat6使用中遇到的问题
2012-01-01 10:23 65481、tomcat6.0.18注册windows服务成功后,但是 ... -
VML应用-利用ECOTree绘制树形结构图
2011-10-29 17:57 63251、基本概念 VML的全称是Vector Markup La ... -
java串口编程-读取称重仪表中净重
2011-10-12 17:08 5086一、需求说明 ... -
记录oracle 关联更新的例子
2011-10-03 20:55 11211、说明 修改某一天“本期值”数据时,需要把第二天的“上期值 ... -
js--设为首页、加入收藏
2011-03-19 00:13 950<a onclick="this.style. ... -
org.hibernate.ObjectNotFoundException: No row with the given identifier exists
2011-03-08 00:19 20541、问题说明 hibenate中实体关联映射中<man ... -
VirtualBox网络配置-搭建数据库服务器
2011-02-10 23:50 31231、由于操作系统与数据库之间兼容性的问题,于是采用在虚拟机上安 ...
相关推荐
利用tcpip协议等网络通信协议,用网线连接两台电脑传输图片等。
基于C#的网络传输图片,在发送方一侧选择发送的图片,在接收方一侧接收并显示这幅图片。
这是一个VC编程实现的局域网内图片传输程序,点对点的图片传输
VC++编写的socket网络传输图片源代码
基于socket编程实现网络传输图片
很不错的socket实现的网络传输图片源码,值得大家学习下
C#网络传输图片源代码,本机测试,两个包分别是客户端和服务器
(利用GIF_LZW算法实现的)网络图片传输 技术特点 ~~~~~~~~ 一、使用TCP协议传输数据。理由:稳定性好。 二、使用字节数据流进行传输,理由: A:VB的String存在自动Unicode转换问题,影响速度; B:可以直接发送8位...
实现android手机与web服务端的图片流通信
网络传输文件软件更多精彩,欢迎来我的论坛逛逛! 快乐论坛630 http://hanranran.5d6d.com/bbs.php 快乐网赚论坛 http://wangzhuan630.5d6d.com/bbs.php 中国网赚论坛 ...大量精彩图片,软件免费下载 ...
socket(网络套接字)传输图片
socket实现jpg图片的传输,分为客户端c.cpp和服务器s.cpp,客户端和服务器建立连接后,就可以接收服务器发送的jpg图片。
java 网络通信,可以同时传输,字符串,文件,图片等,利用心跳检查网络,稍微修改可以像qq通信一样传输(但是没有安全机制,没有界面,只有通信部分)。
VB利用GIF_LZW算法实现网络图片传输,技术特点 一、使用TCP议传输数据。理由:稳定性好。 二、使用字节数据流进行传输,理由: A:VB的String存在自动Unicode转换问题,影响速度; B:可以直接发送8位字节数据...
用MFC实现的网络传输图片,是学习mfc很好的例子,支持一点对多点传输,可以多次传输。
客户端可以打开并显示图片,服务端接收并显示图像,并且可以网络传输文本
用C语言实现的文件传输程序,是一个很不错的学习文件和网络编程的学习程序
用c#网络编程,实现文件的传输 用到网络流
Linux下使用C语言套接字进行图片的传输,先运行服务器端,再运行客户端
理论分析和实验结果表明,该算法既保证了网络传输过程中图像内容的安全性,又在码率、运算复杂度上有很好的性能,平均码率增长6.478%,满足网络传输的实时性要求。同时,该算法满足格式兼容性并具有一定的容错能力,...