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

网站开发的技术要求网站首页的功能

网站开发的技术要求,网站首页的功能,国内永久免费crm系统破解,外贸公司如何做网站介绍 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.w-s-a.com/news/155925/

相关文章:

  • 网站推广公司认准乐云seo易语言做网站登录
  • 配色设计网站推荐网站下拉菜单重叠
  • 内容展示型网站特点在北京注册公司需要多少钱
  • h5网站源代码创意设计理念
  • 岳阳网站开发服务推广运营平台
  • 网站开发得多长时间湖南建设人力资源网证书查询
  • 论坛网站开发网络营销是什么时候产生的
  • 帮人做网站赚钱无忧软文网
  • 做网站要不要营业执照重庆网站优化seo公司
  • 学院宣传网站建设简介做网站没灵感
  • 网站建设终稿确认书网站意义学校
  • 3小时网站建设平台专业制作教学课件
  • 曲阜网站建设百度开户现货黄金什么网站可以做直播
  • 比较好的企业建站平台小程序开发外包该注意些什么
  • 建行官网官网网站吗二次元风格wordpress模板
  • 怎样开通自己的网站网址导航哪个主页最好
  • 大良o2o网站建设详情页设计说明怎么写
  • 您与此网站之间建立的连接不安全汽车cms系统是什么意思
  • 有没有做logo的网站企业网站的内容营销
  • 哈尔滨做企业网站怎么做网站自动响应
  • 网站建设硬件和软件技术环境配置签约做网站模板
  • 教育网站建设的素材手机app制作流程
  • 免费行情软件网站大全下载网站备案查询
  • flex网站模板wordpress实时预览
  • 建设银行网站模板为什么企业要建设自己的企业文化
  • 网站建设必知免费手机网站建站系统
  • ssh可以做wap网站么嘉兴seo排名
  • 站内优化包括哪些帝国做企业网站
  • 做网站seo赚钱吗网络维护和故障维修
  • 企业网站可以自己做摄影网站开发背景怎么写