- 浏览: 612123 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kangh:
转载的也拿出来 都不试一下 完全错误
Nginx+ffmpeg的HLS开源服务器搭建配置及开发详解 -
wangtxlz:
#cd builders/cmake#cmake .系统提示命 ...
crtmpserver流媒体服务器的介绍与搭建 -
hnraysir:
支持支持支持
手机Android音视频采集与直播推送,实现单兵、移动监控类应用 -
wuent:
把web服务器和php框架绑定到一起?真不建议这样。。。
Swoole(PHP高级Web开发框架) -
wuent:
有更详细的性能比较吗?php,python,java
PHP中的(伪)多线程与多进程
import java.awt.image.BufferedImage; import java.io.DataOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class BMPWriter { public static void write(BufferedImage img, File out) { int width = img.getWidth(); int tripleWidth = width * 3; int height = img.getHeight(); int fullTriWidth = tripleWidth % 4 == 0 ? tripleWidth : 4 * ((tripleWidth / 4) + 1); int[] px = new int[width * height]; px = img.getRGB(0, 0, width, height, px, 0, width); byte[] rgbs = new byte[tripleWidth * height]; int index = 0; // r, g, b数组 for (int i = height - 1; i >= 0; i--) { for (int j = 0; j < width; j++) { int pixel = px[i * width + j]; rgbs[index++] = (byte) pixel; rgbs[index++] = (byte) (pixel >>> 8); rgbs[index++] = (byte) (pixel >>> 16); } } // 补齐扫描行长度为4的倍数 byte[] fullrgbs = new byte[fullTriWidth * height]; for (int i = 0; i < height; i++) { for (int j = 0; j < fullTriWidth; j++) { if (j < tripleWidth) { fullrgbs[fullTriWidth * i + j] = rgbs[i * tripleWidth + j]; } else { fullrgbs[fullTriWidth * i + j] = 0; } } } index = 0; int fheader = 14; int infoheader = 40; int board = 0; int offset = fheader + infoheader + board; int length = width * height * 3 + offset; short frame = 1; short deep = 24; int fbl = 3800; DataOutputStream dos = null; try { FileOutputStream fos = new FileOutputStream(out); dos = new DataOutputStream(fos); dos.write('B'); dos.write('M');// 1格式头 wInt(dos, length);// 2-3文件大小 wInt(dos, 0);// 4-5保留 wInt(dos, offset);// 6-7偏移量 wInt(dos, infoheader);// 8-9头信息 wInt(dos, width);// 10-11宽 wInt(dos, height);// 12-13高 wShort(dos, frame);// 14 = 1帧数 wShort(dos, deep);// 15 = 24位数 wInt(dos, 0);// 16-17压缩 wInt(dos, 4);// 18-19 size wInt(dos, fbl);// 20-21水平分辨率 wInt(dos, fbl);// 22-23垂直分辨率 wInt(dos, 0);// 24-25颜色索引 0为所有 wInt(dos, 0);// 26-27重要颜色索引 0为所有 // wInt(0);//28-35 // wInt(0); // wInt(0); // wInt(0);//28-35彩色板 dos.write(fullrgbs); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { dos.close(); } catch (IOException e) { e.printStackTrace(); } } } private static void wInt(DataOutputStream dos, int i) throws IOException { dos.write(i); dos.write(i >> 8); dos.write(i >> 16); dos.write(i >> 24); } private static void wShort(DataOutputStream dos, short i) throws IOException { dos.write(i); dos.write(i >> 8); } }
上述代码是bmp写入类;
剩下的就是下载的事了,
try {
url = new URL(src);
HttpURLConnection con;
con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
InputStream is = con.getInputStream();
byte[] data = readInputStream(is);
File imageFile = new File(localFileName);
if(source.equals("bmp")) {
ByteArrayInputStream in = new ByteArrayInputStream(data); //将b作为输入流;
BufferedImage image = ImageIO.read(in);
BMPWriter.write(image, imageFile);
}else {
FileOutputStream fos = new FileOutputStream(imageFile);
fos.write(data);
fos.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PS:还要用到的将
BufferedImage与byte[]互转 http://qianxunniao.iteye.com/admin/blogs/1730291
发表评论
-
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
2015-03-17 11:01 1157在Java多线程应用中,队列的使用率很高,多数生产消费模型的 ... -
RabbitMQ (五)主题(Topic)
2015-02-27 17:05 0转载请标明出处:http://blog.csdn.net/l ... -
RabbitMQ (四) 路由选择 (Routing)
2015-02-27 17:04 0上一篇博客我们建立了一个简单的日志系统,我们能够广播日志消 ... -
RabbitMQ (三) 发布/订阅
2015-02-27 17:02 1253转发请标明出处:http://blog.csdn.net/l ... -
RabbitMQ (二)工作队列
2015-02-27 17:01 1298转载请标明出处:http:/ ... -
RabbitMQ 入门 Helloworld
2015-02-27 17:00 1194转载请标明出处:http://blog.csdn.net/l ... -
生成文本聚类java实现 (3)
2014-05-25 22:25 775很多网友看到我的聚类的研究,到后来基本上都是到car ... -
生成文本聚类java实现 (2)
2014-05-25 22:23 1425Java代码 4.从剩余的词中提取文本 ... -
生成文本聚类java实现 (1)
2014-05-25 22:23 1120本章主要的学习是中文分词 和两种统计词频(传统词频和T ... -
JAVA中List、Map、Set的区别与选用
2013-04-30 01:19 964类层次关系如下: Collection ├List│├L ... -
一个简单的MongoDB操作类
2013-03-15 10:04 0import java.net.UnknownHostExc ... -
Java设计模式总结
2013-02-20 23:03 0常见模式分类: 主要模式的定义和描述: ... -
mongodb——java封装(id自增,gridFS)
2013-01-30 20:08 2038/** * 数据库接口 * @author tho ... -
做MongoDB并发测试
2013-01-30 17:13 1058com.mongodb.MongoOptions源代码,其中有 ... -
【MongoDB for Java】Java操作MongoDB
2013-01-27 18:23 906上一篇文章: http://www.cnblogs.com ... -
java泛型
2012-11-30 11:21 0什么是泛型? 泛型(Generic type 或者 gen ... -
Java synchronized详解
2012-11-30 10:27 0第一篇: 使用synchronized 在编写一个类 ... -
BufferedImage与byte[]互转
2012-11-19 23:51 1298转载自:http://www.cnblogs.com/XL ... -
图形数字的识别算法: 车牌识别及验证码识别的一般思路
2012-11-17 19:24 0图形数字的识别算法: 车牌识别及验证码识别的一般思路 本文源自 ... -
java nio 之MappedByteBuffer,高效文件/内存映射
2012-11-16 16:59 0MappedByteBuffer是java nio引入的 ...
相关推荐
以上就是将BMP图片保存为WMV格式视频的关键知识点。通过理解这些概念和技术,开发者可以构建自己的转换工具,实现图像到视频的无缝转换。在这个过程中,VS2010和DirectShow提供了强大的工具和接口,帮助我们高效地...
在网络环境下,通常需要先下载BMP文件到本地,然后使用编程语言(如Python的PIL库,C++的OpenCV库等)处理翻转操作,最后可以将翻转后的图像上传回服务器或者保存为新的BMP文件供后续使用。 6. 示例代码 以下是一...
根据提供的文件信息,本文将详细解释如何在C#中实现从网络上获取图片并将其保存到本地的方法。此过程涉及到了HTTP请求、流处理、文件操作等关键概念和技术。 ### 标题:“C#获取图片并保存到本地” 标题直接说明了...
这些图像最初是以二进制格式存储的,但在这个“mnist数据集bmp图片”中,图像已经被转换为.bmp格式,这是一种常见的位图图像文件格式,便于在本地直接查看和使用。 **数据预处理** 在使用MNIST数据集进行模型训练...
接收端收到数据后,需要正确地解析字节流,重构BMP文件并保存到本地。在这个过程中,需要注意字节顺序问题,因为不同的计算机架构可能有不同的字节序(大端或小端),这可能会影响到数据的正确解析。 为了提高传输...
BMP文件通常较大,不适合网络传输,但在本地处理时能提供原始图像数据,便于分析和处理。 "图像处理"是指对数字图像进行操作,以改善其质量、提取有用信息或进行艺术创作。它涵盖了众多技术,如图像采集、色彩空间...
BMP文件包含图像的所有信息,包括颜色深度、宽度、高度和实际像素数据,适合于本地存储和显示。 JPEG(Joint Photographic Experts Group)是一种广泛用于网络和数字媒体的有损压缩图像格式。它通过丢弃人眼难以...
在项目中,STM32F4将接收到的摄像头数据转换为BMP格式,以便在本地存储或者上传到云端。 4. 图像处理算法:为了将摄像头数据转换成BMP格式,项目可能包含了图像处理算法,例如像素格式转换、色彩空间转换等。这些...
而JPG是一种有损压缩格式,主要用于照片或色彩丰富的图像,通过牺牲部分图像质量来换取更小的文件大小,适合网络传输和存储。 在Delphi 7中,我们可以使用VCL库中的TImage组件来加载、显示和处理图像。这个组件支持...
尽管BMP文件不适用于网络传输,但在本地存储和编辑高质量图标时很有用。 ICON则是专门的图标文件格式,常用于Windows系统中的应用程序图标。它包含多个不同尺寸和颜色深度的图像,以适应不同的显示需求。例如,当...
GIF是一种广泛使用的网络图像格式,支持动画和透明度,而BMP是Windows操作系统中的标准位图格式,通常用于存储非压缩的图像数据。 首先,我们要理解GIF和BMP文件的结构差异。GIF文件使用LZW压缩算法,包含多帧图像...
使用这样的工具,用户可以轻松地将个人设计的PNG、GIF、JPG或BMP图片调整为适合各种屏幕尺寸的图标,而无需逐一手动修改。 转换过程通常涉及以下步骤: 1. 选择源图像:用户需要提供要转换的PNG、GIF、JPG或BMP文件...
5. **保存文件**:最后,程序将生成的BMP图像文件保存到本地,供用户查看或进一步处理。 http2bmp的实现虽然简单,但它展示了VB在处理网络请求和图形渲染方面的基本能力。对于初学者来说,这是一个很好的学习项目,...
10. **存储与备份**:下载的图片需要妥善存储,可以本地保存,也可以上传至云存储服务。定期备份有助于防止数据丢失。 以上是“从网络上获取图片”这一主题所涉及的主要IT知识点,涵盖了网络协议、网页渲染、图片...
这两种格式都是常见的图像文件格式,BMP无损且体积大,而JPEG则是广泛使用的有损压缩格式,适合网络传输和存储。 首先,让我们详细讨论一下在数据库中存储图像的问题。传统的数据库设计通常涉及存储文本、数字和...
在易语言编程环境中,字节集与图片的互转是一个常见的操作,特别是在处理网络数据传输、文件存储或图像处理时。下面将详细解释这个过程,以及如何使用易语言实现这一功能。 字节集(Byte Array)是编程中用来存储二...
这使得BMP文件具有高保真度,但不适合存储大容量的图像。 3. **GIF**:GIF(Graphics Interchange Format)是一种支持透明度和动画的无损压缩格式。它限制了色彩数量(最多256色),适合用于简单的图形、文字和动态...
3. **使用方法**:解释如何在软件中输入网址,设置输出的图像参数(如分辨率、质量等),以及如何保存生成的BMP图片。 4. **注意事项**:可能包括对网络连接的要求、兼容性问题、权限设置等方面的提醒。 5. **常见...
在易语言中处理字节集与图片的互换是一项常见的任务,尤其是在数据存储、网络传输或者图像处理等领域。本篇文章将详细探讨如何在易语言中实现这一功能。 首先,我们需要理解“字节集”。字节集是易语言中用来存储一...
JPG是常用的图片格式,适合存储照片和复杂图像,因为它采用了有损压缩,能减小文件大小。 BMP(Bitmap)是另一种图像文件格式,它不进行任何压缩,因此通常文件较大,但能提供无损的质量。在某些情况下,如需要无损...