• winform图片旋转


    01.//可以实现任意角度的旋转,旋转出现的角落空白可以选择填充的颜色。

    02. 
    03. 
    04.using System;
    05. 
    06.using System.Drawing;
    07.using System.Drawing.Drawing2D;
    08.using System.Drawing.Imaging;
    09.using System.Text;
    10.using System.Windows.Forms;
    11. 
    12.namespace bitmaprerote
    13.{
    14.public partial class Form1 : Form
    15.{
    16.public Form1()
    17.{
    18.InitializeComponent();
    19.}
    20.public static Bitmap KiRotate(Bitmap bmp, float angle, Color bkColor)
    21.{
    22.int w = bmp.Width + 2;
    23.int h = bmp.Height + 2;
    24. 
    25.PixelFormat pf;
    26. 
    27.if (bkColor == Color.Transparent)
    28.{
    29.pf = PixelFormat.Format32bppArgb;
    30.}
    31.else
    32.{
    33.pf = bmp.PixelFormat;
    34.}
    35. 
    36.Bitmap tmp = new Bitmap(w, h, pf);
    37.Graphics g = Graphics.FromImage(tmp);
    38.g.Clear(bkColor);
    39.g.DrawImageUnscaled(bmp, 1, 1);
    40.g.Dispose();
    41. 
    42.GraphicsPath path = new GraphicsPath();
    43.path.AddRectangle(new RectangleF(0f, 0f, w, h));
    44.Matrix mtrx = new Matrix();
    45.mtrx.Rotate(angle);
    46.RectangleF rct = path.GetBounds(mtrx);
    47. 
    48.Bitmap dst = new Bitmap((int)rct.Width, (int)rct.Height, pf);
    49.g = Graphics.FromImage(dst);
    50.g.Clear(bkColor);
    51.g.TranslateTransform(-rct.X, -rct.Y);
    52.g.RotateTransform(angle);
    53.g.InterpolationMode = InterpolationMode.HighQualityBilinear;
    54.g.DrawImageUnscaled(tmp, 0, 0);
    55.g.Dispose();
    56.tmp.Dispose();
    57.return dst;
    58.}
    59.private void button2_Click(object sender, EventArgs e)
    60.{
    61.Bitmap map = new Bitmap("F:\hj.jpg");
    62.this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
    63.map = KiRotate(map, 30, Color.Pink);
    64.pictureBox1.Image = map;
    65.}
    66.}
    67.}
  • 相关阅读:
    lightoj 1027 简单概率dp
    zoj 3329 One Person Game 概率dp
    光速输入法
    百度卫士+7654联盟
    MyCCL复合特征码定位系统3.0 build 23 中文绿色版
    右键管家MenuMgr-1.2单文件
    影子卫士中文注册版+系统保护的尚方宝剑、、
    Easyspy网络检测系统
    百度杀毒+7654联盟
    QQ浏览器+7654联盟
  • 原文地址:https://www.cnblogs.com/jliuwork/p/4084166.html
Copyright © 2020-2023  润新知