基本信息
源码名称:图片的任意旋转
源码大小:0.06M
文件格式:.rar
开发语言:C#
更新时间:2022-01-22
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
实现图像的无闪烁任意旋转
public void ShowBmp()
{
angle = 0.0f;
double rad = angle;
//原图的宽和高
int w = bmp.Width;
int h = bmp.Height;
int nGraphWidith;
nGraphWidith = (int)Math.Sqrt(w * w h * h);
Bitmap MemBmp = new Bitmap(nGraphWidith, nGraphWidith);
Graphics buffergraphics = Graphics.FromImage(MemBmp);
buffergraphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bilinear;
buffergraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
Point center = new Point(nGraphWidith / 2, nGraphWidith / 2);
Rectangle rect = new Rectangle(0, 0, nGraphWidith, nGraphWidith);
Rectangle rect2 = new Rectangle(0, 0, w, h);
Color bc = BackColor;
buffergraphics.FillRectangle(new SolidBrush(bc), 0, 0, nGraphWidith - 1, nGraphWidith - 1);
buffergraphics.TranslateTransform(center.X, center.Y);
buffergraphics.RotateTransform((float)rad);
//恢复图像在水平和垂直方向的平移
buffergraphics.TranslateTransform(-center.X, -center.Y);
buffergraphics.TranslateTransform(center.X - w / 2, center.Y - h / 2);
buffergraphics.DrawImage(bmp, rect2);
buffergraphics.TranslateTransform(-center.X w / 2, -center.Y h / 2);
int nSpaceWidth = 0;
int nSpaceHeight = 50;
Graphics g;
g = this.CreateGraphics();
g.DrawImage(MemBmp, nSpaceWidth, nSpaceHeight);
g.Dispose();
}
.
├── 好例子网_图片的任意旋转.rar
└── 图片的任意旋转
├── 图片的任意旋转
│ ├── App.config
│ ├── Form1.Designer.cs
│ ├── Form1.cs
│ ├── Form1.resx
│ ├── Program.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── bin
│ │ └── Release
│ │ ├── 福字.JPG
│ │ ├── 图片的任意旋转.exe
│ │ ├── 图片的任意旋转.exe.config
│ │ └── 图片的任意旋转.pdb
│ ├── obj
│ │ ├── Debug
│ │ │ ├── DesignTimeResolveAssemblyReferences.cache
│ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ ├── TempPE
│ │ │ ├── 图片的任意旋转.csproj.CoreCompileInputs.cache
│ │ │ ├── 图片的任意旋转.csproj.FileListAbsolute.txt
│ │ │ └── 图片的任意旋转.csproj.GenerateResource.cache
│ │ └── Release
│ │ ├── DesignTimeResolveAssemblyReferences.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── TempPE
│ │ ├── 图片的任意旋转.Form1.resources
│ │ ├── 图片的任意旋转.Properties.Resources.resources
│ │ ├── 图片的任意旋转.csproj.CoreCompileInputs.cache
│ │ ├── 图片的任意旋转.csproj.FileListAbsolute.txt
│ │ ├── 图片的任意旋转.csproj.GenerateResource.cache
│ │ ├── 图片的任意旋转.exe
│ │ └── 图片的任意旋转.pdb
│ └── 图片的任意旋转.csproj
└── 图片的任意旋转.sln
10 directories, 31 files
实现图像的无闪烁任意旋转
public void ShowBmp()
{
angle = 0.0f;
double rad = angle;
//原图的宽和高
int w = bmp.Width;
int h = bmp.Height;
int nGraphWidith;
nGraphWidith = (int)Math.Sqrt(w * w h * h);
Bitmap MemBmp = new Bitmap(nGraphWidith, nGraphWidith);
Graphics buffergraphics = Graphics.FromImage(MemBmp);
buffergraphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bilinear;
buffergraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
Point center = new Point(nGraphWidith / 2, nGraphWidith / 2);
Rectangle rect = new Rectangle(0, 0, nGraphWidith, nGraphWidith);
Rectangle rect2 = new Rectangle(0, 0, w, h);
Color bc = BackColor;
buffergraphics.FillRectangle(new SolidBrush(bc), 0, 0, nGraphWidith - 1, nGraphWidith - 1);
buffergraphics.TranslateTransform(center.X, center.Y);
buffergraphics.RotateTransform((float)rad);
//恢复图像在水平和垂直方向的平移
buffergraphics.TranslateTransform(-center.X, -center.Y);
buffergraphics.TranslateTransform(center.X - w / 2, center.Y - h / 2);
buffergraphics.DrawImage(bmp, rect2);
buffergraphics.TranslateTransform(-center.X w / 2, -center.Y h / 2);
int nSpaceWidth = 0;
int nSpaceHeight = 50;
Graphics g;
g = this.CreateGraphics();
g.DrawImage(MemBmp, nSpaceWidth, nSpaceHeight);
g.Dispose();
}
.
├── 好例子网_图片的任意旋转.rar
└── 图片的任意旋转
├── 图片的任意旋转
│ ├── App.config
│ ├── Form1.Designer.cs
│ ├── Form1.cs
│ ├── Form1.resx
│ ├── Program.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── bin
│ │ └── Release
│ │ ├── 福字.JPG
│ │ ├── 图片的任意旋转.exe
│ │ ├── 图片的任意旋转.exe.config
│ │ └── 图片的任意旋转.pdb
│ ├── obj
│ │ ├── Debug
│ │ │ ├── DesignTimeResolveAssemblyReferences.cache
│ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ ├── TempPE
│ │ │ ├── 图片的任意旋转.csproj.CoreCompileInputs.cache
│ │ │ ├── 图片的任意旋转.csproj.FileListAbsolute.txt
│ │ │ └── 图片的任意旋转.csproj.GenerateResource.cache
│ │ └── Release
│ │ ├── DesignTimeResolveAssemblyReferences.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── TempPE
│ │ ├── 图片的任意旋转.Form1.resources
│ │ ├── 图片的任意旋转.Properties.Resources.resources
│ │ ├── 图片的任意旋转.csproj.CoreCompileInputs.cache
│ │ ├── 图片的任意旋转.csproj.FileListAbsolute.txt
│ │ ├── 图片的任意旋转.csproj.GenerateResource.cache
│ │ ├── 图片的任意旋转.exe
│ │ └── 图片的任意旋转.pdb
│ └── 图片的任意旋转.csproj
└── 图片的任意旋转.sln
10 directories, 31 files