PACS 图象尺寸缩小时的优化算法

获得积分
资料库会员登录
搜索: [高级搜索]
下载首页 | 资源分类 | 下载排行
您的位置: 首页 > PACS/RIS > PACS RIS 实施及方案相关
 
分类导航
下载排行
最新资源
PACS 图象尺寸缩小时的优化算法
资源大小:10.17 KB 资源类型:文档
下载积分: 0
更多
-->
下载统计:总下载:0,本月下载:0,本周下载:0,今日下载:0
发表评论 错误报告 加入收藏夹
资源介绍
  
  这个不仅能放大还能缩小用指针写的速度很快。是一种很简单的插值算法。   
   
   
   
  =========================================================================   
  BOOL   COXDIB::ChangeDIB(int   cx,   int   cy)   
  {   
   
          int   width=GetWidth();   
          int   height=GetHeight();   
   
          if((cx==width)&&(cy==height))   
                  return   FALSE;   
   
          TRACE("width=%d,height=%dn",width,height);   
   
          COXDIB   bmp;   
          bmp.CreateEmptyDIB(24,cx,cy);   
          for(int   k=0;k                   for(int   n=0;n                           bmp.SetPixel(k,n,RGB(255,255,255));   
   
          int   tempcy,tempcx,startcx,startcy;   
          double   sx,sy,smin;                                 //x和y方向的比例系数   
          sx=double(cx)/(double)width;   
          sy=double(cy)/(double)height;   
   
          smin=(sx>sy)?sy:sx;   
          tempcy=(int)(smin*height);   
          tempcx=(int)(smin*width);   
   
          startcx=(cx-tempcx)/2;   
          startcy=(cy-tempcy)/2;   
  //         endcx=(cx+tempcx)/2;   
  //         endcy=(cy+tempcy)/2;   
   
          int   i,j;   
   
          for(i=0;i           {   
                  for(j=0;j                   {   
                          double   x,y;   
                          x=(double)i/smin;   
                          y=(double)j/smin;   
   
                          if(x<=0)x=0;   
                          if(x>=width-1)x=width-1;   
                          if(y<=0)y=0;   
                          if(y>=height-1)y=height-1;   
                          if(   ((int)x==0)||((int)x==width-1)||((int)y==0)||((int)y==height-1)   )   
                          {   
                                  COLORREF   color1=GetPixel((int)x,(int)y);   
                                  bmp.SetPixel(i+startcx,j+startcy,color1);   
                          }   
                          else   
                          {   
                                  double   r1,r2,r3,r4;   
                                  double   g1,g2,g3,g4;   
                                  double   b1,b2,b3,b4;   
                                  COLORREF   c1,c2,c3,c4;   
                                  c1=GetPixel((int)x,(int)y);   
                                  c2=GetPixel((int)x+1,(int)y);   
                                  c3=GetPixel((int)x,(int)y+1);   
                                  c4=GetPixel((int)x+1,(int)y+1);   
                                  double   dis1=x-(int)x;   
下载地址
 下载地址1
按字母检索

下载须知:
大部份资源无需注册即可下载
需要积分的资源要在会员中心注册会员并用 积分体系中提示的方法赚取积分才能下载。

免责声明:
所有资源只能用于参考学习,不能用于任何商业用途,否则后果自负!