当前位置: 首页 > news >正文

网站 解析网站开发项目进度完成表

网站 解析,网站开发项目进度完成表,电子商务网站建设与管理的有关论文,如何建设外贸网站介绍 CxImage是一个可非常简单快速的加载,保存,显示和转换图像的C类. 文件格式和链接的C库 Cximage对象基本上是加了一些成员变量来保存有用信息的一个位图: class CxImage{...protected:void* pDib; //包含标题,调色板,像素BITMAPINFOHEADER head; //标准头文件CXIMAGEINFO…介绍 CxImage是一个可非常简单快速的加载,保存,显示和转换图像的C类. 文件格式和链接的C库 Cximage对象基本上是加了一些成员变量来保存有用信息的一个位图: class CxImage{...protected:void* pDib; //包含标题,调色板,像素BITMAPINFOHEADER head; //标准头文件CXIMAGEINFO info; //扩展信息BYTE* pSelection; //所选区域BYTE* pAlpha; //α通道CxImage** ppLayers; //通用图层CxImage** ppFrames; //动画帧}CxImage::head是位图头,CxImage::pDib是普通位图(如CxImageBMP::Encode的实现所示). CxImage::info是,包含不同格式间共享的许多信息及所有成员函数. typedef struct tagCxImageInfo {DWORD dwEffWidth; //双字对齐的扫描行宽度BYTE* pImage; //图像位void* pGhost; //如果这是重影,则pGhost指向身体DWORD dwType; //原图像格式char szLastError[256]; //调试long nProgress; //监听long nEscape; //转义long nBkgndIndex; //GIF,PNG,MNGRGBQUAD nBkgndColor; //RGB透明BYTE nQuality; //JPEGlong nFrame; //TIF,GIF,MNG:实际帧long nNumFrames; //用于TIF,GIF,MNG:总帧数DWORD dwFrameDelay; //GIF,MNGlong xDPI; //水平分辨率long yDPI; //垂直分辨率RECT rSelectionBox; //约束矩形BYTE nAlphaMax; //最大暗度(淡化)bool bAlphaPaletteEnabled; //如果启用了调色板中的α值,则为真.bool bEnabled; //启用绘画函数long xOffset;long yOffset;DWORD dwEncodeOption; //对GIF,TIF:0def.1unc,2fax3,3fax4,4pack,5jpgRGBQUAD last_c; //用来GetNearestIndex优化BYTE last_c_index;bool last_c_isvalid;long nNumLayers;DWORD dwFlags; } CXIMAGEINFO;CxImage对象也是一组层.仅在必要时才分配每层中的缓冲. CxImage::pDib是背景图像.CxImage::pAlpha是透明图层.CxImage::pSelection是创建处理图像的感兴趣区域的选择图层. 在这3个特定平面上,可添加在CxImage::ppLayers中保存的其他通用图层.通用层是完整的CxImage对象,因此可构建嵌套层的复杂结构. CxImage::ppFrames用来保存(GIF)动画图像. CxImage类成员和操作 CxImage是使用Doxygen记录的,但是因为历史原因,仍未记录许多不常见的功能. 支持的格式和选项 整个库非常大,在ximcfg.h主头文件中,可找到启用或禁止特定图形格式或特征的开关.每个JPG,PNG和TIFF库都会对最终应用增加约100KB,而CxImage影响约为50KB. 因此,应该只支持和链接应用真正需要的格式. 格式#define必需的库[KB]大小BMP,GIF,ICO,TGA,PCX,WBMP,WMF,SKACXIMAGE_SUPPORT_BMP,CXIMAGE_SUPPORT_GIF,CXIMAGE_SUPPORT_ICO,CXIMAGE_SUPPORT_TGA,CXIMAGE_SUPPORT_PCX,CXIMAGE_SUPPORT_WBMP,CXIMAGE_SUPPORT_WMF,CXIMAGE_SUPPORT_SKA内置24JPEG格式CXIMAGE_SUPPORT_JPGjpeg88PNGCXIMAGE_SUPPORT_PNGpng,zlib104MNGCXIMAGE_SUPPORT_MNGmng,zlib,jpeg148TIFFCXIMAGE_SUPPORT_TIFTIFF,zlib,jpeg124JBIGCXIMAGE_SUPPORT_JBGjbig28PNM,PPM,PGM,RASCXIMAGE_SUPPORT_PNM,CXIMAGE_SUPPORT_RASjasper176JPEG-2000格式CXIMAGE_SUPPORT_JP2CXIMAGE_SUPPORT_JPCCXIMAGE_SUPPORT_PGX同上176RAWCXIMAGE_SUPPORT_RAWlibdcr132 选项#define[KB]大小CxImage核心所有开关关闭20几何变换CXIMAGE_SUPPORT_TRANSFORMATION16处理图像CXIMAGE_SUPPORT_DSP24绘画和窗口相关功能CXIMAGE_SUPPORT_WINDOWS12透明CXIMAGE_SUPPORT_ALPHA4选区CXIMAGE_SUPPORT_SELECTION4多层CXIMAGE_SUPPORT_LAYERS4图形格式转换CXIMAGE_SUPPORT_DECODE,CXIMAGE_SUPPORT_ENCODE4插值功能CXIMAGE_SUPPORT_INTERPOLATION4处理异常CXIMAGE_SUPPORT_EXCEPTION_HANDLING4 在项目中使用CxImage CxImgLib.dsw客户区显示了构建应用(demo.exe)期望库,包括CxImage中可用的几乎所有函数和格式.必须先编译所有库,才能链接最终应用. 在源码中,你必须添加#includeximage.h 在CxImage中添加自定义功能 使用CxImage编写处理图像的新功能并不难.在此,我描述了非常简单的CxImage::Jitter,但它显示了在CxImage中工作时注意的许多方面. 首先,当然是声明:在ximage.h的CXIMAGE_SUPPORT_DSP部分中声明bool Jitter(longradius2);,你可在类的公域中声明该函数. 现在是定义: bool CxImage::Jitter(long radius) { //检查图像是否有效,这应该总是是函数中的第一行if (!pDib) return false; //局部变量long nx,ny; //临时图像来保存算法的部分结果CxImage tmp(*this,pSelection!0,true,true);//仅在包含所选区域的最小矩形中限制函数的效果(使用Selection...()函数),这加快循环速度.long xmin,xmax,ymin,ymax;if (pSelection){xmin info.rSelectionBox.left; xmax info.rSelectionBox.right;ymin info.rSelectionBox.bottom; ymax info.rSelectionBox.top;} else {xmin ymin 0;xmax head.biWidth; ymaxhead.biHeight;} //主循环:在垂直方向扫描图像for(long yymin; y ymax; y){ //监听循环的进度info.nProgress (long)(100*y/head.biHeight); //让应用快速退出if (info.nEscape) break; //主循环:在水平方向扫描图像for(long xxmin; xxmax; x){ //如果启用该函数,则仅处理所选区域内的像素 #if CXIMAGE_SUPPORT_SELECTIONif (SelectionIsInside(x,y)) #endif //CXIMAGE_SUPPORT_SELECTION{ //主要算法nxx(long)((rand()/(float)RAND_MAX - 0.5)*(radius*2));nyy(long)((rand()/(float)RAND_MAX - 0.5)*(radius*2));if (!IsInside(nx,ny)) {nxx;nyy;}//在临时图像中保存结果.如果可以,请仅对24bpp图像使用PixelColor,对8,4和1bpp图像使用PixelIndex:这样更快if (head.biClrUsed0){tmp.SetPixelColor(x,y,GetPixelColor(nx,ny));} else {tmp.SetPixelIndex(x,y,GetPixelIndex(nx,ny));} //如果启用了该功能,则还要处理α图层中的像素 #if CXIMAGE_SUPPORT_ALPHAtmp.AlphaSet(x,y,AlphaGet(nx,ny)); #endif //CXIMAGE_SUPPORT_ALPHA}}} //保存结果并退出Transfer(tmp);return true; }示例:如何… …按另一个格式转换一个格式. CxImage image; //BMP-JPG image.Load(image.bmp, CXIMAGE_FORMAT_BMP); if (image.IsValid()){if(!image.IsGrayScale()) image.IncreaseBpp(24);image.SetJpegQuality(80);image.Save(image.jpg,CXIMAGE_FORMAT_JPG); } //PNG-TIF image.Load(image.png, CXIMAGE_FORMAT_PNG); if (image.IsValid()){image.Save(image.tif,CXIMAGE_FORMAT_TIF); }…加载图像资源 //从PNG资源类型加载资源IDR_PNG1 CxImage* newImage new CxImage(); newImage-LoadResource(FindResource(NULL,MAKEINTRESOURCE(IDR_PNG1), PNG),CXIMAGE_FORMAT_PNG); //或 //从DLL加载资源IDR_JPG1 CxImage* newImage new CxImage(); HINSTANCE hdllLoadLibrary(imagelib.dll); if (hdll){HRSRC hresFindResource(hdll,MAKEINTRESOURCE(IDR_JPG1),JPG);newImage-LoadResource(hres,CXIMAGE_FORMAT_JPG,hdll);FreeLibrary(hdll); } //或: //加载位图资源; HBITMAP bitmap ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1))); CxImage *newImage new CxImage(); newImage-CreateFromHBITMAP(bitmap); … 从内存解码图片 CxImage image((BYTE*)buffer,size,image_type); //或 CxMemFile memfile((BYTE*)buffer,size); CxImage image(memfile,image_type); //或 CxMemFile memfile((BYTE*)buffer,size); CxImage* image new CxImage(); image-Decode(memfile,type);…在内存中编码图像 long size0; BYTE* buffer0; image.Encode(buffer,size,image_type); ... image.FreeMemory(buffer); //或 CxMemFile memfile; memfile.Open(); image.Encode(memfile,image_type); BYTE* buffer memfile.GetBuffer(); long size memfile.Size(); ... image.FreeMemory(buffer);… 创建多页TIFF CxImage *pimage[3]; pimage[0]image1; pimage[1]image2; pimage[2]image3; FILE* hFile; hFile fopen(multipage.tif,wb); CxImageTIF multiimage; multiimage.Encode(hFile,pimage,3); fclose(hFile);//或 FILE* hFile; hFile fopen(c:\\multi.tif,wb); CxImageTIF image; image.Load(c:\\1.tif,CXIMAGE_FORMAT_TIF); image.Encode(hFile,true); image.Load(c:\\2.bmp,CXIMAGE_FORMAT_BMP); image.Encode(hFile,true); image.Load(c:\\3.png,CXIMAGE_FORMAT_PNG); image.Encode(hFile); fclose(hFile);…复制/粘贴图像 //复制 HANDLE hDIB image-CopyToHandle(); if (::OpenClipboard(AfxGetApp()-m_pMainWnd-GetSafeHwnd())) {if(::EmptyClipboard()) {if (::SetClipboardData(CF_DIB,hDIB) NULL ) {AfxMessageBox( Unable to set Clipboard data ); } } } CloseClipboard(); //糊 HANDLE hBitmapNULL; CxImage *newima new CxImage(); if (OpenClipboard()) hBitmapGetClipboardData(CF_DIB); if (hBitmap) newima-CreateFromHANDLE(hBitmap); CloseClipboard(); 在图片框中显示文件 HBITMAP m_bitmap NULL; CxImage image(myfile.png, CXIMAGE_FORMAT_PNG); ... CDC* hdc m_picture.GetDC(); HBITMAP m_bitmap image.MakeBitmap(hdc-m_hDC); HBITMAP hOldBmp m_picture.SetBitmap(m_bitmap); if (hOldBmp) DeleteObject(hOldBmp); if (hdc-m_hDC) m_picture.ReleaseDC(hdc); ... if (m_bitmap) DeleteObject(m_bitmap);
http://www.hkea.cn/news/14484790/

相关文章:

  • 四川省建设厅官方网站电话网页设计多少钱一个页面
  • 嘉兴建设网站的足球比赛直播雨燕
  • 免费建网站流程discuz论坛手机模板
  • 简述网站设计流程接任务做兼职的的网站
  • 您的网站空间已过期域名注册网站 不认证
  • 微商城网站建设好么网站搭建学什么软件
  • 怎么做网页连接网站关键词怎样做优化
  • 吉林省城乡建设部网站网站如何生成静态页面
  • 杭州做网站怎么收费wordpress会员微信支付宝
  • 自己电脑做网站模板上海长宁区网站建设
  • 长沙县政务网站福州网站定制公司
  • 自己开发网站怎么盈利网络营销制度课完整版
  • 用ps做网站还是wd网站排名方案
  • 一个网站如何做推广方案设计有没有网站专门做cnc招聘
  • 线上企业订单管理系统网站wordpress厨房家居主题
  • 北京网站制作建设公司哪家好互联网推广营销隐迅推我选
  • 泉州住房和城乡建设局网站深圳动画制作
  • 紫金网站制作策划做文案的网站有些什么
  • 河南省和城乡建设厅网站首页今天重庆发生大新闻
  • 建设网站需要营业执照装饰设计乙级资质承接范围
  • 为什么淘宝店主不自己做电商网站做网站需要学些什么软件
  • 嘉兴建设中学网站wordpress 片刻主题
  • 网站建设基本流程规范用新域名做网站排名快吗
  • 品牌网站建设 结构reactjs 做网站
  • 什么是指定网站的域名html在线模板
  • 论坛网站如何备案上海网络维护公司20强
  • 有一个外国网站专门做街头搭讪怎么用自己电脑当服务器建设网站
  • 网站制作评价标准wordpress本地备份
  • 资阳网站优化万网备案初审过了后网站能访问吗
  • 网站的建设与维护有什么作用dewplayer wordpress