显示PCX图形

RedskyDeng 2012-09-09 10:44:07
在MFC的FormView中OnPaint显示一个PCX格式的图像,怎么实现呢?
CreateStreamOnHGlobal与OleLoadPicture都没法处理这种格式。
...全文
235 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
RedskyDeng 2012-09-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
要显示单色PCX图形,上面代码该怎么修改?
[/Quote]OK,改下面这部分就可以了:

// Get the palette
for ( short Entry=0; Entry < 256; Entry++ )
{
psBmpInfo->bmiColors[Entry].rgbRed = pabFileData[lPos++];
psBmpInfo->bmiColors[Entry].rgbGreen = pabFileData[lPos++];
psBmpInfo->bmiColors[Entry].rgbBlue = pabFileData[lPos++];
psBmpInfo->bmiColors[Entry].rgbReserved = 0;
}


RedskyDeng 2012-09-11
  • 打赏
  • 举报
回复
要显示单色PCX图形,上面代码该怎么修改?
RedskyDeng 2012-09-11
  • 打赏
  • 举报
回复
怎么只能显示16色和256色的PCX,那位帮我看看上面的代码?十分感谢
zpc38368330 2012-09-11
  • 打赏
  • 举报
回复
bmp图像网上有不少源码可用,而且也是windows的标准图像各式
RedskyDeng 2012-09-10
  • 打赏
  • 举报
回复
OK,这么做:
//

#include "stdafx.h"
#include "PCXView.h"

#include <io.h> // _filelength()

#include "ChildFrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CChildFrame

IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd)

BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
//{{AFX_MSG_MAP(CChildFrame)
ON_COMMAND(ID_FILE_CLOSE, OnFileClose)
ON_WM_SETFOCUS()
ON_WM_CREATE()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChildFrame construction/destruction

CChildFrame::CChildFrame() : psBmpInfo(NULL), pabRawBitmap(NULL),
BitmapSize(CSize(0,0))
{
}

CChildFrame::~CChildFrame()
{
if ( psBmpInfo )
delete [] psBmpInfo;
if ( pabRawBitmap )
delete [] pabRawBitmap;
}

BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);

return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CChildFrame diagnostics

#ifdef _DEBUG
void CChildFrame::AssertValid() const
{
CMDIChildWnd::AssertValid();
}

void CChildFrame::Dump(CDumpContext& dc) const
{
CMDIChildWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CChildFrame message handlers
void CChildFrame::OnFileClose()
{
SendMessage(WM_CLOSE);
}

int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
return -1;

// create a view to occupy the client area of the frame
if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))
{
TRACE0("Failed to create view window\n");
return -1;
}

return 0;
}

void CChildFrame::OnSetFocus(CWnd* pOldWnd)
{
CMDIChildWnd::OnSetFocus(pOldWnd);

m_wndView.SetFocus();
}

BOOL CChildFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
// let the view have first crack at the command
if (m_wndView.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
return TRUE;

// otherwise, do default handling
return CMDIChildWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}

//
// *** LoadPCX
//
void CChildFrame::LoadPCX( LPCSTR lpcszFilename )
{
// Standard PCX header
struct PCXHead {
char ID;
char Version;
char Encoding;
char BitPerPixel;
short X1;
short Y1;
short X2;
short Y2;
short HRes;
short VRes;
char ClrMap[16*3];
char Reserved1;
char NumPlanes;
short BPL;
short Pal_t;
char Filler[58];
} sHeader;

// Open the file and put its entire content in memory
FILE *pFile = fopen( lpcszFilename, "rb" );
if ( !pFile )
{
MessageBox("Unable to open the PCX file");
return;
}
const long clFileSize = _filelength(_fileno(pFile));
BYTE *pabFileData = (BYTE *)new BYTE[ clFileSize ];
fread( pabFileData, clFileSize, 1, pFile );
fclose( pFile );

// Get the header
memcpy( &sHeader, pabFileData, sizeof(sHeader) );

// Each scan line MUST have a size that can be divided by a 'long' data type
int iScanLineSize = sHeader.NumPlanes * sHeader.BPL;
ldiv_t sDivResult = ldiv( iScanLineSize, sizeof(long) );
if ( sDivResult.rem > 0 )
iScanLineSize = (iScanLineSize/sizeof(long)+1) * sizeof(long);

// Set the bitmap size data member
BitmapSize = CSize( sHeader.X2-sHeader.X1+1, sHeader.Y2-sHeader.Y1+1 );
const long clImageSize = iScanLineSize * BitmapSize.cy;

// Set the bitmap information
psBmpInfo = (BITMAPINFO *)new BYTE[ sizeof(BITMAPINFOHEADER) +
(sizeof(RGBQUAD)*256) ];
psBmpInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
psBmpInfo->bmiHeader.biWidth = BitmapSize.cx;
psBmpInfo->bmiHeader.biHeight = -BitmapSize.cy;
psBmpInfo->bmiHeader.biPlanes = sHeader.NumPlanes;
psBmpInfo->bmiHeader.biBitCount = sHeader.BitPerPixel;
psBmpInfo->bmiHeader.biCompression = BI_RGB;
psBmpInfo->bmiHeader.biSizeImage = 0;
psBmpInfo->bmiHeader.biXPelsPerMeter = 0;
psBmpInfo->bmiHeader.biYPelsPerMeter = 0;
psBmpInfo->bmiHeader.biClrUsed = 0;
psBmpInfo->bmiHeader.biClrImportant = 0;

// Prepare a buffer large enough to hold the image
pabRawBitmap = (BYTE *)new BYTE[ clImageSize ];
if ( !pabRawBitmap )
{
MessageBox( "Can't allocate memory for the image" );
delete [] pabFileData;
return;
}

// Get the compressed image
long lDataPos = 0;
long lPos = 128; // That's where the data begins

for ( int iY=0; iY < BitmapSize.cy; iY++ )
{
// Decompress the scan line
for ( int iX=0; iX < sHeader.BPL; )
{
UINT uiValue = pabFileData[lPos++];
if ( uiValue > 192 ) { // Two high bits are set = Repeat
uiValue -= 192; // Repeat how many times?
BYTE Color = pabFileData[lPos++]; // What color?

if ( iX <= BitmapSize.cx )
{ // Image data. Place in the raw bitmap.
for ( BYTE bRepeat=0; bRepeat < uiValue; bRepeat++ )
{
pabRawBitmap[lDataPos++] = Color;
iX++;
}
}
else
iX += uiValue; // Outside the image. Skip.
}
else
{
if ( iX <= BitmapSize.cx )
pabRawBitmap[lDataPos++] = uiValue;
iX++;
}
}

// Pad the rest with zeros
if ( iX < iScanLineSize )
{
for ( ;iX < iScanLineSize; iX++ )
pabRawBitmap[lDataPos++] = 0;
}
}

if ( pabFileData[lPos++] == 12 ) // Simple validation
// Get the palette
for ( short Entry=0; Entry < 256; Entry++ )
{
psBmpInfo->bmiColors[Entry].rgbRed = pabFileData[lPos++];
psBmpInfo->bmiColors[Entry].rgbGreen = pabFileData[lPos++];
psBmpInfo->bmiColors[Entry].rgbBlue = pabFileData[lPos++];
psBmpInfo->bmiColors[Entry].rgbReserved = 0;
}

delete [] pabFileData;

// Resize/Repaint the window
const CSize BorderSize( GetSystemMetrics( SM_CXEDGE ) +
GetSystemMetrics( SM_CXFRAME ) - 1,
GetSystemMetrics( SM_CYEDGE ) +
GetSystemMetrics( SM_CYFRAME ) - 1 );
SetWindowPos( NULL, 0, 0, BitmapSize.cx + (BorderSize.cx*2),
BitmapSize.cy + (BorderSize.cy*2)+GetSystemMetrics(SM_CYCAPTION),
SWP_NOMOVE | SWP_NOZORDER );
}

BOOL CChildFrame::OnEraseBkgnd(CDC* pDC)
{
if ( pabRawBitmap && psBmpInfo )
// Display the image
SetDIBitsToDevice( *pDC, 0, 0,
BitmapSize.cx, BitmapSize.cy, 0, 0,
0, BitmapSize.cy,
pabRawBitmap, psBmpInfo, DIB_RGB_COLORS);

return CMDIChildWnd::OnEraseBkgnd(pDC);;
}
辰岡墨竹 2012-09-10
  • 打赏
  • 举报
回复
http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt
http://en.wikipedia.org/wiki/PCX
看看这些吧。
辰岡墨竹 2012-09-10
  • 打赏
  • 举报
回复
Windows原生不支持这种格式,只有3.x版本的画图自己支持。你需要自己将其转换为DIB位图,再用GDI的SetDIBitsToDevice
中文名: 图形图像处理实用教程 作者: 柳青图书分类: 软件 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 978-7-04-012336-4发行时间: 2003年06月 地区: 大陆 语言: 简体中文 简介: 内容简介: 图形图像处理是计算机应用最广泛的领域之一。计算机图形图像处理软件的种类很多,本书在简单介绍图形图像处理基本概念的基础上,介绍了目前流行的图像处理软件Photoshop、图形绘制软件CorelDRAW和网络图像处理软件Fireworks。其中,以图像处理软件Photoshop6.0为重点详细讲解。主要内容包括:图形与图像技术基础、Photoshop的基本概念和基本操作、图像处理操作基础、图层、通道、蒙板、路径、滤镜、ImageReady3.0、Photoshop的创作技能、中文CorelDRAW、Fireworks等。   由于本课程实践性很强,为了加强学生的操作技能和应用能力,体现高职高专的教学特色,本书结合具体实例介绍软件的功能,每章配以思考题和上机操作题。本书采用通俗易懂的语言,深入浅出地介绍软件的使用方法和技巧,配合各种实例,帮助读者掌握软件的应用和图像处理的思想方法。   本书可作为高等专科学校、高等职业技术学院计算机专业及相关专业的图形图像技术课程教材,也可供各类培训班教学使用和作为计算机图形图像技术爱好者的自学参考书。 内容截图: 目录: 第1章 图形与图像技术基础 1.1 图形与图像处理 1.1.1 图形与图像的概念 1.1.2 图形与图像技术 1.2 矢量图与点阵图 1.2.1 矢量图 1.2.2 点阵图 1.2.3 矢量图和点阵图的区别 1.3 图形的动态显示 1.4 数字图像的基本概念 1.4.1 图像的分类 1.4.2 分辨率 1.5 色彩学基础知识 1.5.1 色彩的产生 1.5.2 色光三原色 1.5.3 色料三原色 1.5.4 常见色彩模式 1.6 彩色与位数 1.7 图形系统的组成 1.7.1 图形系统的基本功能与分类 1.7.2 图形系统的硬件设备与软件 1.8 图形构成与变换的基本概念 1.8.1 空间维数与坐标系 1.8.2 图形变换 1.9 常见图像存储格式 1.9.1 BMP格式 1.9.2 PSD/PDD格式 1.9.3 JPEG格式 1.9.4 TIFF格式 1.9.5 TGA格式 1.9.6 PCX格式 1.9.7 GIF格式 1.9.8 PICT格式 1.9.9 其他图像文件格式 1.10 计算机图像处理系统 1.10.1 显示器及相关概念 1.10.2 图形显示卡及相关概念 1.10.3 扫描仪及相关概念 1.10.4 打印机 1.10.5 绘图仪 习题一 第2章 Photoshop的基本概念和基本操作 2.1 Photoshop 6.0的功能特点与运行环境 2.1.1 Photoshop的历史与发展 2.1.2 Photoshop 6.0的主要功能特点 2.1.3 Photoshop的运行环境与启动 2.2 系统的设置、校准与优化 2.2.1 显示器的设置与校准 2.2.2 Photoshop工作环境的设置 2.3 Photoshop 6.0的窗口组成与基本操作 2.3.1 Photoshop 6.0的窗口与用户界面组成 2.3.2 Photoshop的工具箱的基本操作 2.3.3 Photoshop的控制面板的使用 2.4 Photoshop的视图 2.4.1 图像的缩放显示 2.4.2 标尺与参考线 2.4.3 建立新视图 2.5 图像的建立、打开、保存和关闭 2.5.1 图像的建立、打开和关闭 2.5.2 图像的保存 习题二 第3章 图形图像处理操作基础 3.1 范围的选取 3.1.1 使用选择工具选取 3.1.2 用裁切工具选取 3.1.3 用套索工具选取 3.1.4 用魔术棒工具选取 3.1.5 其他选取方法 3.1.6 选取范围的控制 3.2 绘图基本操作 3.2.1 画笔工具和铅笔工具 3.2.2 形状工具 3.2.3 其他绘图工具 3.3 图像修正操作 3.3.1 涂抹工具 3.3.2 模糊/锐化工具 3.3.3 减淡、加深和海绵工具 3.4 文字操作 3.4.1 基本文字的产生 3.4.2 文字的特技制作 3.5 图案、着色与图像工具 3.5.1 图案与着色 3.5.2 渐变工具与着色 3.5.3 图章工具 3.5.4 背景与填充 3.6 图像的控制 3.6.1 图像与画布尺寸的变更 3.6.2 画布的旋转 3.6.3 图像的旋转与变形 3.6.4 图像色彩控制 习题三 第4章 图层 4.1 图层的基本概念与图层面板的操作 4.1.1 图层的基本概念 4.1.2 图层面板的使用 4.2 图层的基本操作 4.2.1 新建图层 4.2.2 图层的复制、删除与移动 4.2.3 图层蒙板 4.2.4 图层组的操作 4.3 文字层的操作 4.3.1 文字层的建立 4.3.2 将文字层栅格化 4.4 图层组 4.4.1 图层组的概念 4.4.2 将图层分组 4.5 图层样式的应用 4.5.1 使用图层样式 4.5.2 图层样式的拷贝、修改和清除 4.5.3 将图层样式转换成新图层 4.6 图像的合成 4.6.1 图层的合并 4.6.2 清除图层边缘斑点 习题四 第5章 通道、蒙板与路径 5.1 通道 5.1.1 图像模式与通道 5.1.2 通道与通道面板的基本操作与使用 5.1.3 通道的创建 5.1.4 复制与删除通道 5.1.5 通道的分离与合并 5.1.6 通道混合 5.1.7 图像的合成 5.2 蒙板 5.2.1 快速蒙板 5.2.2 用Alpha通道和存储选区产生蒙板 5.2.3 图层蒙板 5.2.4 用文字蒙板工具创造文字效果 5.3 路径 5.3.1 路径和路径面板 5.3.2 路径的创建和编辑 5.3.3 路径的保存、复制、剪切和删除 5.3.4 路径和选区的相互转换 5.3.5 路径的填充和描边 5.3.6 路径的应用 习题五 第6章 滤镜 6.1 滤镜概述 6.1.1 滤镜的基本概念 6.1.2 滤镜的基本操作与使用 6.2 模糊滤镜 6.2.1 模糊/进一步模糊 6.2.2 动感模糊滤镜 6.2.3 高斯模糊滤镜 6.2.4 径向模糊滤镜 6.3 扭曲滤镜 6.3.1 球面化与挤压滤镜 6.3.2 旋转扭曲滤镜 6.3.3 玻璃滤镜 6.3.4 波浪、波纹与水波滤镜 6.4 锐化滤镜 6.4.1 锐化/进一步锐化滤镜和锐化边缘滤镜 6.4.2 USM锐化滤镜 6.5 风格化滤镜 6.5.1 浮雕效果与曝光过度滤镜 6.5.2 拼贴、凸出与风滤镜 6.5.3 查找边缘滤镜与照亮边缘滤镜 6.6 滤镜使用实例 习题六 第7章 ImageReady 3.0 7.1 概述 7.1.1 Web图像和动画 7.1.2 ImageReady 3.0工作界面 7.2 切割图像 7.3 优化图像 7.3.1 优化图像概述 7.3.2 优化图像的一般方法 7.3.3 优化GIF图像的颜色 7.4 制作GIF动画 7.4.1 概述 7.4.2 动画制作实例 习题七 第8章 Photoshop的创作技巧与实例 8.1 组合照片 8.2 广告招贴画的设计 8.3 网页图像的制作 习题八 第9章 中文CorelDRAW 9.1 CorelDRAW概述 9.1.1 CorelDRAW的功能与特点 9.1.2 CorelDRAW的运行环境与启动 9.1.3 中文CorelDRAW 10的工作界面 9.1.4 中文CorelDRAW 10的标准工具栏 9.1.5 中文CorelDRAW 10的常用工具箱 9.2 CorelDRAW 10的基本操作 9.2.1 文件的基本操作 9.2.2 页面设置 9.2.3 图形的导入与导出 9.3 CorelDRAW 10绘图基础 9.3.1 基本绘图 9.3.2 编辑路径 9.3.3 变换对象 9.3.4 色彩填充 9.3.5 轮廓编辑 9.4 文本处理 9.4.1 用文本工具添加文本 9.4.2 添加段落文本 9.4.3 添加美术字文本 9.4.4 设置文本格式 9.4.5 段落文本与美术字文本相互转换 9.4.6 文本框的显示与隐藏 9.5 图形处理技术 9.5.1 位图处理 9.5.2 改变位图模式 9.5.3 对位图进行效果处理 9.6 交互式工具 9.6.1 交互式调和 9.6.2 交互式轮廓图 9.6.3 交互式变形 9.6.4 交互式封套 9.6.5 交互式阴影 9.6.6 交互式透明 9.6.7 交互式立体化 9.7 打印输出 9.7.1 打印设置 9.7.2 纸张设置选项 9.7.3 打印预览 9.7.4 打印输出 9.8 制作实例 习题九 第10章 Fireworks 10.1 Fireworks简介 10.1.1 Fireworks MX的新增功能 10.1.2 Fireworks MX的运行环境与启动 10.1.3 Fireworks MX的工作界面 10.1.4 Fireworks MX的工具箱 10.2 Fireworks MX基本绘图工具的使用 10.2.1 常用位图绘图工具 10.2.2 常用矢量绘图工具 10.2.3 选择与编辑对象 10.3 文字工具的使用 10.3.1 输入文本 10.3.2 编辑文本 10.3.3 将文本附加到路径 10.3.4 特效文字 10.4 切片工具的使用 10.4.1 切片工具 10.4.2 多边形切割工具 10.4.3 显示或隐藏切片 10.4.4 给切片设置超级链接 10.4.5 输出切片 10.5 GIF动画的实现 10.5.1 帧面板 10.5.2 动画的制作 10.5.3 导入和导出动画 习题十 参考文献
1,bmp_in.zip
在多文档客户区中增加位图底图演示程序(59KB)
2,bmp_in2.zip
在多文档客户区中增加位图底图(27KB)
3,bitmap_ocx.zip
一个自适应大小的位图控件(3KB)
4,bitmap_ocx2.zip
一个自适应大小的位图控件演示程序(21KB)
5,dashline.zip
一个简单的虚线类(46KB)
6,rotatedc2.zip
旋转你的图形-高级内存设备描述表演示程序(49KB)
7,rotatedc.zip
旋转你的图形-高级内存设备描述表(21KB)
8,jtdraw.zip
JTDraw -- 一个绘画的例子(165KB)
9,autofont.zip
自动字体处理类(3KB)
10,colorapp.zip
CColor - 在一个类中包括了RGB和HLS设定可执行程序(10KB)
11,colorapp2.zip
CColor - 在一个类中包括了RGB和HLS设定(20KB)
12,jpeg.zip
操作JPEG的库和源程序(390KB)
13,dibimage.zip
这个例子功能强大,能够以多种方式处理位图文件,强烈推荐 COOL(112KB)
14,ssbase.zip
屏幕保护程序基类(27KB)
15,quiz_scr.zip
十分简单的屏幕保护程序(32KB)
16,gpslib.zip
在你的应用程序中添加对GPS(全球定位系统)的支持,提供的DLL可被其它开发软件所利用(83KB)
17,throw.zip
平抛运动演示程序(40.8k VC 作者:添翼虎)(41KB)
18,dodib.zip
处理位图的例子(112KB)
19,ampuisrc.zip
类似于WinAMP的图形界面(50KB)
20,Gray.zip
一个基于DirectX的图象灰度处理示例,可是MMX的新作了(57KB)
21,Screen.zip
一个基于DirectX的截图示例,又是MMX的新作^o^,你看懂了话都能截图了(14KB)
22,opengl1.zip
OpenGL三维图形程序设计(539kb)
23,wingrap.zip
Windows图形编程(189kb)
24,Graphics.zip
VC图形编程的一个简单工程<1450kb>
25,DIBShow.zip
设备无关位图的一个里例子<1830kb>
26,Clock.zip
一个数字时钟的图形的工程<1450kb>
27,PAINTOBJ.zip
一个类似于画图的小程序<1450kb>
28,detect.zip
用差影法检测图象(25KB)
29,maslog.zip
综合录井图(418KB)
30,mfdraw.zip
多功能绘图(175KB)
31,mftab.zip
自由表格(63KB)
32,cimage.zip
一套图像处理程序,支持JPEG、GIF和PNG三种格式(892KB)
33,thinkr30.zip
简单的电子表格程序(141KB)
34,aseasy5.zip
另一个电子表格程序(319KB)
35,free.zip
一个电子表格程序,它能从脚本中处理数据(17KB)
36,iedit32.zip
在DOS中创建或编辑WINDOWS的图标(69KB)
37,giflt150.zip
保持GIF的可视面但减小它的大小25%(50KB)
38,gds31f.zip
观看,替换和转换 GIF/JPG/PCX/TIF/IFF/LBM/DL/ HAM/BMP/RLE/TGA/MAC/WPG/CUT/ANSI/TXT/IMG/ PBM/CUT/GL/FLI/MPG, 显示极小的图象(370KB)
39,fview10.zip
观看JPEG/GIF/TARGA 文件(72KB)
40,dta22b2.zip
从TGA文件创建FLI/FLC动画(254KB)
41,dfe-104.zip
显示字体编辑器能为EGA和VGA显示器创建新字体(219KB)
42,cmorph21.zip
create morphed images with TGA/IMG/BMP/GIF/IPI/PCX files(630KB)
43,bmp2ico.zip
转换BMP文件到WINDOWS 3.X的ICO文件(22KB)
44,alch151.zip
图形转换器(359KB)
45,aaplay10.zip
Autodesk Animator's FLI player(53KB)
46,a2r103.zip
转换ANSI 屏幕到RIP格式(17KB)
47,show204.zip
GIF/PCX/JPEG 观察器(252KB)
48,bmp.zip
操纵位图的开发包(78KB)
49,draw_in.zip
在状态条里显现图(29KB)
50,cimageb.zip
读写jpg,dib文件的类。(267KB)
51,RGNC.zip
想制做超cool图形界面吗用它吧。(18KB)
52,CISBitmap.zip
这个从Cbitmap派生的位图类使你可以通过指定一种颜色把一幅位图变透明,而它的使用差不多同Cbitamp一样简单。(2KB)
53,Cdib.zip
这个类库可以实现设备无关位图的创建,显示,读入,保存,捕捉位图(6KB)
54,geotrans.zip
行程编码,JPEG压缩编码(基本系统)(32KB)
55,smooth.zip
图象的检测,模板匹配算法代码(24KB)
56,dither.zip
图象的边沿检测与提取,轮廓跟踪算法代码(24KB)
57,colorrope.zip
腐蚀,膨胀,细化算法代码(31KB)
58,morph.zip
直方图修正和彩色变换算法代码(17KB)
59,edge.zip
实现图案化和抖动技术以及bmp2txt源代码(34KB)
60,compress.zip
图象的几何变换算法(128KB)
61,tga2gif.zip
TGA文件转换为GIF文件。(14KB)
62,tooltip.zip
可以多行显示的提示条(32KB)
63,yearmonth.zip
选择年/月的控制(39KB)
64,calen32a.zip
提供日历功能的动态库, 含有演示代码(79KB)
65,mappin.zip
你可以在你的GIS(地图信息系统)中使用这些源程序,因为它演示了在地图上的图钉效果,运行这个程序你可以在View中移动一些图标(286KB)
66,storage.zip
文件存储和流化的一些类(10KB)
67,Redraw.zip
克服控制闪烁问题(1KB)
MicroDraw图形控件最新版本 最新版本详情咨询:VX:zhangty426 MicroDraw SDK For Windows,支持windows9x/ME/XP/7/8 发行方式:单机版、开发版本、网络版、B/S版本; MicroDraw图形控件是国内专业图形组件(中间件),兼容多种CAD/GIS文件格式和操作方式; MDF,DWG,DXF,DWF,DXB,DGN,QCD,IGS,MDF,PLT,HPGL,MIF。并提供500多种方法和属性供开发者调用。可以用于开发行业(CAD/GIS/GPS)软件(如:建筑CAD,机械CAD,服装CAD等),数据加工软件(CAD/CNC)(如:线切割软件,激光打标软件),管理软件(MIS/PDM/ERP/MRP2/CAPP,图档管理),监控系统(煤矿,电力,电讯,煤气,消防等行业) 运行环境: 操作系统:Windows 9x/me/nt/2k/xp /win7/8 WinServer2003/2008 编程语言:Viusal Basic/Viusal C++/Delphi/ASP/IE/Powerbuild/Viusal Foxpro/C++ Builder/.NET(vb.net c# vc.net)/易语言 文件管理功能: 1. 支持的文件格式包括:BMP、GIF、ICO、TGA、PCX、WBMP、WMF、JPEG、PNG、MNG、TIFF、JBIG、PNM,PPM,PGM、RAS,DXF ,DWF(4.0-6.0)、DWG(2.5-2014) 、IGS, PDF、MIF,PLT,PRN,HPGL/HPGL2、DGN, SHP,CGM; 2. 打开图形图像文件;支持从URL/ftp网上打开,可以将文件保存到ftp上; 3. 打印文件:全部打印和选择打印,打印预览, 打印到文件; 4. 保存和读取自定义格式文件; 5. 将矢量图以指定的尺寸保存为光珊图或者复制到系统粘贴板上; 6. 插入OLE对象,OFFICE文档。 7. 支持模型及其布局文件的浏览。 8. 在不打开文件的情况下,导入文件的某个图层; 9. 对比文件; 10. 支持FTP服务器文件的导入;. 11. 支付PDF文件的浏览和打印; 12. 设置缺省文件格式模式的显示; 打印功能: 1. 直接对当前文件进行打印; 2. 单单的打印框选的元素; 3. 预览打印; 4. 打印出图时附加打印公司标示及其文本信息; 5. 设置水印并在出图时打印水印; 显示功能: 1. 显示平移,自由缩放,框选放大,最佳显示; 2. 回溯显示; 3. 支持显示透明命令操作; 4. 支持三维文件格式显示; 5. 鸟瞰,鹰眼,放大镜功能; 6. 显示网格,显示十字光标; 7. 显示元素外框控制点,同时通过元素控制点对元素进行控制放大、缩小、旋转; 8. 显示或者隐藏元素,图层元素; 9. 设置背景图片 10. 自定义图库文件。 11. 右键菜单功能; 12. 增加了显示水印功能 13. 显示或者隐藏工具条中的指定按钮; 支持事件 1. 支持鼠标移动、点击、双击及滚轮操作事件; 2. 支持键盘的按下、抬起事件; 3. 支持显示绘制事件,用户可以自定义元素显示样式; 4. 支持多种缺省工具操作事件,缺省工具对元素进行操作都会触发相应事件; 5. 保存、打开、打印文件触发相应事件; 6. 文件上传和下载触发相应事件; 7. 选择操作后会触发相应事件; 元素支持功能: 1. 点;直线,折线,射线;圆,圆弧;椭圆,椭圆弧;样条线;函数曲线;填充区域,位图填充;多义线,文字,轨迹文字,剖面线; 2. 文字标注,尺寸标注(水平,竖直,对齐,角度,半径,直径尺寸等); 3. 块插入、图片插入、OLE对象; 4. 多边形; 5. 基本三维元素创建; 6. 图层、文字样式、尺寸样式、线型、剖面线填充样式等; 编辑构造功能: 1. 删除、复制、粘贴、镜像、移动、旋转、延伸、修剪、拖拽、缩放、圆形阵列、矩形阵列; 2. undo /redo 3. 组合、炸开;炸开文字; 其他可选模块: 1. 算法模块,计算图形的长度、面积、体积、交点等; 寻找最大封闭区域、最小 封闭区域、偏移元素;有限元分析算法;图形比较算法;区域求交算法等; 2.数控加工模块,提取几何元素加工数据;优化加工路径; 3.图库功能,自定义图库; 4.视频测绘模块,将cad图纸和视频内容进行叠加比对;

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧