php生成DWG的略缩图
一、基本知识
1、DWG的略缩图图像信息块在DWG文件的第13-15位,设为add0(具体详见DWG文件的预览图像数据结构);
2、略缩图数据开始地址在add+31~add+34中,设为add1;
3、略缩图数据的长度在add+35~add+38字节中,设为len;
4、略缩图数据区由add1开始,直至add1+len。
略缩图数据区相当于BMP(8bit)的位图信息区块、调色板区块和数据区块,只差文件头区块(具体详见BMP(8bit)的数据结构);
5、AutoCAD的DWG的略缩图长180,宽104,故文件总长度=54+1024+25200=0X4D56。故8bitBMP文件头为定值:42 4D 56 4D 00 00 00 00 00 00 36 04 00 00
二、程序
//读取地址
function address($name,$offset)
{$ch=file_get_contents($name,'',null,$offset,4);$str=array();for($i=0;$i<4;$i++){$str[]= sprintf('%02X',ord($ch[$i]));}$str=array_reverse($str);$str=implode('',$str);return hexdec($str);
}
$name='test.dwg';
$add0=address($name,13);//略缩图图像信息块的地址
$add1=address($name,$add0+31);//略缩图数据开始地址$len=address($name,$add0+35);//略缩图数据的长度
$data=file_get_contents($name,'',null,$add1,$len);//获取BMP数据
$header='BM'.pack('V3',14+$len,0,1078);//42 4D 56 4D 00 00 00 00 00 00 36 04 00 00
file_put_contents('test.bmp',$header.$data);
php生成DWG的略缩图相关推荐
- 短视频APP开发制作—生成视频封面、略缩图
在短视频App开发中,编辑短视频有很多重点功能,如视频滤镜.音乐混音.静态贴纸.加水印等,今天讲一讲如何使用腾讯短视频sdk获取视频封面或略缩图. 首先,初始化控件,设置必要配置: mTXVideoE ...
- java 二进制图片上传_Spring MVC上传图片,Java二进制图片写入数据库,生成略缩图...
背景描述:最近做到一个项目,有个商品登记功能.登记的信息包括:基本信息若干(文字信息):图片信息,要求将图片保存到数据表中的image字段(sql server 数据库) 步骤:1.将图片上传到服务器 ...
- java自动生成略缩图
当你要做一个图库的项目时,对图片大小.像素的控制是首先需要解决的难题. 本篇文章,在前辈的经验基础上,分别对单图生成略缩图和批量生成略缩图做个小结. 一.单图生成略缩图 单图经过重新绘制,生成新的图片 ...
- Android开发之--读取文件夹下图片生成略缩图并点击显示大图
这是一个简单的Demo,目的是:读取文件夹下图片生成略缩图并点击显示大图. 先新建一个工程,创建一个ThumbnailsWindows的类,继承LinearLayout.代码如下: package o ...
- PHP使用FFMpeg 略缩图裁剪
PHP使用FFMpeg来转换视频格式.Github上搜索FFMPEG,到https://github.com/PHP-FFMpeg/PHP-FFMpeg. For Windows users : Pl ...
- 对以前的改进MFC略缩图控件改进
以前写了一篇日记, 显示略缩图,见 <自绘列表框控件显示略缩图----再稍微改进点点..> http://blog.csdn.net/hemmingway/article/details/ ...
- MFC略缩图控件实现
As I write this, it's just a bit over some month since I started working at this. In memory of that, ...
- 过年回家,走之前留一个用GDI+实现的略缩图控件
这是一个加载文件夹图片略缩图的控件,支持多种图片格式~~用法也比较简单 (1).源代码 //头文件ListImageCtrl.h #pragma once #include <vector> ...
- 简单实现前端选择上传图片并显示略缩图
效果 实现代码 <!DOCTYPE html> <html> <head><meta charset="UTF-8"><tit ...
最新文章
- android 锁屏
- 《算法竞赛进阶指南》打卡-基本算法-AcWing 94. 递归实现排列型枚举:dfs、二进制状态压缩
- 卫星导航 | 整秒转时分秒(时间转换)
- Python标准模块--logging
- python中文词云图代码_Python简单实现词云图代码及步骤解析
- React基础篇(六)React中绑定事件的注意点
- R语言-merge和rbind
- SAP License:SAP技术人员路在何方?
- Node.js:常用工具、路由
- linux视频教程哪个最好_最好的Linux教程
- 每日一记:win10无法设置上网代理
- 2022年Cs231n PPT笔记-训练CNN
- 升级Windows7到旗舰版
- mysql 回归分析_统计科学之多元回归分析
- huaweizip安装包_华为安卓安装包无法解压为什么
- iOS小技能:SKU视图搭建
- 报错:Entering emergency mode. Exit the shell to continue 解决
- 网页设计排版中哪些元素比较重要?
- android 分享纯图片到QQ空间实现方式
- 42步进电机拆解步距角推导