任意角度图片旋转

迷茫的女人141

迷茫的女人141

2016-02-19 15:30

今天图老师小编给大家展示的是任意角度图片旋转,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

  

void S_PicXZ(Graphics::TBitmap *Source,Graphics::TBitmap *NewPic,int angle)//
{
if(angle180)angle=360-angle;
if(angle-180)angle=360+angle;
float radians=(2*3.1416*angle)/360;
float cosine=(float)cos(radians);
float sine=(float)sin(radians);
float Point1x=(-Source-Height*sine);
float Point1y=(Source-Height*cosine);
float Point2x=(Source-Width*cosine-Source-Height*sine);
float Point2y=(Source-Height*cosine+Source-Width*sine);
float Point3x=(Source-Width*cosine);
float Point3y=(Source-Width*sine);
float minx=min((float)0,min(Point1x,min(Point2x,Point3x)));
float miny=min((float)0,min(Point1y,min(Point2y,Point3y)));
float maxx=max(Point1x,max(Point2x,Point3x));
float maxy=max(Point1y,max(Point2y,Point3y));
int DestBitmapWidth,DestBitmapHeight;
if(angle90&&angle180)
 DestBitmapWidth=(int)ceil(-minx);
else
 DestBitmapWidth=(int)ceil(maxx-minx);
if(angle-180&&angle-90)
 DestBitmapHeight=(int)ceil(-miny);
else
 DestBitmapHeight=(int)ceil(maxy-miny);
NewPic-Height=DestBitmapHeight;
NewPic-Width=DestBitmapWidth;
for(int x=0;xDestBitmapWidth;x++)
 {
 for(int y=0;yDestBitmapHeight;y++)
  {
  int SrcBitmapx=(int)((x+minx)*cosine+(y+miny)*sine);
  int SrcBitmapy=(int)((y+miny)*cosine-(x+minx)*sine);
  if(SrcBitmapx=0&&SrcBitmapxSource-Width&&SrcBitmapy=0&&
  SrcBitmapySource-Height)
   {
   NewPic-Canvas-Pixels[x][y]=Source-Canvas-Pixels[SrcBitmapx][SrcBitmapy];
   }
  }
 }
}

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

任意角度图片旋转

编程语言 网络编程
任意角度图片旋转

word图片按90度或任意角度自由旋转

计算机应用技术 word
word图片按90度或任意角度自由旋转

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

word中将文字转为图片实现字体旋转90度或任意角度

电脑应用 计算机应用技术 word
word中将文字转为图片实现字体旋转90度或任意角度

在Word文档中将文字以任意角度旋转

电脑入门
在Word文档中将文字以任意角度旋转

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

何在Word文档的中将文字以任意角度旋转

电脑入门
何在Word文档的中将文字以任意角度旋转

word文档任意旋转

电脑应用
word文档任意旋转

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

请求网址并解析返回的html

请求网址并解析返回的html

浅谈MySQL+PHP产生乱码的原理及解决方法

浅谈MySQL+PHP产生乱码的原理及解决方法
下拉加载更多内容 ↓