说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

菜鸟:求一个24位彩色图片旋转的函数代码

编辑:说三道四文库 发布时间:2018-01-19 01:34
HTML文档下载 WORD文档下载 PDF文档下载
要求旋转后的图片不要出现明显的层次感,我现在用了一个旋转的函数效果不是很好,旋转后整个图像有层次,边缘出现锯齿,然而在photoshop中图片旋转后效果就很好几乎看不到什么层次和锯齿,过渡处理的很好。

请各位高手指点~~~~~~~~

把你现在的函数加上平滑处理
平滑以后感觉图片模糊了,photoshop对256色图像旋转后效果不明显,同样有层次和边缘锯齿,但是彩色图片旋转后效果非常好。
做旋转,可将RGB三个通道分开做,我做过,效果很好
to: chegtion(关玉夫) 能不能发个旋转的函数给我 
Rotate(double Angle)//24位旋转
{
if ( pPixels == NULL )
return Empty;

double dx,dy,dx1,dy1;
int Tcx,Tcy;
dx1 = (double)mSize.cx/2 ;
dy1 = (double)mSize.cy/2;

double sinA = sin(Angle);
double cosA = cos(Angle);
double DstX1,DstY1,DstX2,DstY2,DstX3,DstY3,DstX4,DstY4;//目标图四角坐标(以图像中心为坐标原点)
DstX1 = -cosA*dx1 + sinA*dy1 ;
DstY1 =  sinA*dx1 + cosA*dy1 ;
DstX2 =  cosA*dx1 + sinA*dy1 ;
DstY2 = -sinA*dx1 + cosA*dy1 ;
DstX3 = -cosA*dx1 - sinA*dy1 ;
DstY3 =  sinA*dx1 - cosA*dy1 ;
DstX4 =  cosA*dx1 - sinA*dy1 ;
DstY4 = -sinA*dx1 - cosA*dy1 ;

dx = max(fabs(DstX4-DstX1),fabs(DstX3-DstX2));
dy = max(fabs(DstY4-DstY1),fabs(DstY3-DstY2));

img_Matrix3x3 Matrix3x3 = {  cosA, sinA, 0,
-sinA, cosA, 0,
DstX1+dx/2, DstY4+dy/2, 1}; //clockwize

Tcx = int(dx) ;
Tcy = int(dy) ;
BYTE *pBuf = new BYTE [Tcx * Tcy ];
int i,j;
int SrcLength = mSize.cx * mSize.cy ;
int TarLength = Tcx * Tcy ;
BYTE *pSrcChannel = new BYTE [SrcLength] ;
BYTE *pTarChannel = new BYTE [TarLength] ;
BYTE *pSrc = (BYTE*)pPixels ;
BYTE *pTar = (BYTE*)pBuf ;

for (j = 0 ; j < 3 ; j++)
{
for (i = 0 ; i < SrcLength ; i++)
*(pSrcChannel+i) = *(pSrc + i*3 + j) ;

AffineTransform(pTarChannel, Tcx, Tcy,
pSrcChannel, mSize.cx, mSize.cy, Matrix3x3);

for (i = 0 ; i < TarLength ; i++)
*(pTar + i*3 + j) = *(pTarChannel+i) ;
}
delete []pSrcChannel ;
delete []pTarChannel ;
return true;
}
开创未来的关键:是什么造就了硅谷?(下) 安全漏洞影响2.5万iOS应用?AFNetworking维护者发布回应 《近匠》专访AbleCloud李海磊:IoT平台求变 腾讯、京东、微软等设计专家齐聚,探讨移动应用体验创新设计 TIOBE 2015年5月编程语言排行榜:微软系语言份额上升 录音用什么软件最好? 怎样安装sis900内置网卡的驱动 GF问我一问题,请大家不吝指教! Who can help me with two functions? thanks mdac 请问高手我先装的WIN2003.我后装WINXP,我该怎么办? 分数每天还正常增加么? 关于循环计数等问题,大家帮忙修改一下 ★★★思归大哥,求救★★★ english speech.i need hel 什么是名词用作状语请用文言文举例说明 I am going on a picnic wi 现代汉语中 名词作状语的出现条件 英语翻译 Why observe the holi 英语翻译 有人看到那个女子紧跟着他.(observ 用surprise,surprised或surpr 选择适当的单词并用其正确形式补全短文very,al 英语第4题,i need help 中国国资改革进入关键期 “领队”角色快递员送货路上猝死 “过劳现象”蔓延联合国官员:目前还在讨论叙利亚化武销获俄罗斯一大型私营网站聘用 斯诺登开英国检方称《世界新闻报》曾窃听哈里王巴萨爆冷负于皇家社会痛失榜首“善行故事” 滋养成都文明乘申办东风 未来八年中国如何绘就蓝图体坛零讯张天师东汉天师洞植银杏娱乐圈潜规则:极品妖妻【全文完】30天情人:亲爱的,结婚免谈倾城女药师:卿墨烟萝(完结)大老板与小肥女:契约佳期灵念世界中国西部大峡谷旅游少华山旅游烽山旅游黄飞鸿纪念馆旅游总督官邸旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘