zoukankan      html  css  js  c++  java
  • 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.}
  • 相关阅读:
    Jquery+ajax+bootstrap
    Js+Jquery
    css(2)+JS
    css
    mysql 高级
    Git
    Redis
    Nginx
    python爬虫 | 一条高效的学习路径
    拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息
  • 原文地址:https://www.cnblogs.com/jliuwork/p/4084166.html
Copyright © 2011-2022 走看看