请选择 进入手机版 | 继续访问电脑版

无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 579|回复: 0

C#控制图像旋转和翻转的方法(RotateFlip)

[复制链接]

336

主题

366

帖子

1506

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1506
发表于 2018-3-11 23:19:55 | 显示全部楼层 |阅读模式
C#控制图像旋转和翻转的方法(RotateFlip)
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication2
{
  public partial class Form17 : Form
  {
    public Form17()
    {
      InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
      using (Bitmap bmp = new Bitmap(@"d:/我的文档/桌面/ico/watermark.bmp"))
      {
        Graphics g = this.CreateGraphics();
        Rectangle rect = new Rectangle(0, 0, 100, 100);
        //bmp.RotateFlip(RotateFlipType.Rotate90FlipNone);
        bmp.RotateFlip(RotateFlipType.RotateNoneFlipX);
        g.DrawImage(bmp, rect);
      }
    }
  }
}


1、Rotate90FlipX
2、Rotate90FliY
3、Rotate90FlipXY
4、Rotate90FlipNone
以上面四个为例:
1是指定后接水平翻转的90度顺时针旋转,
2是指定后接垂直翻转的90度顺时针旋转,
3是指定后接水平翻转和垂直翻转的90度顺时针旋转,
4是指定不进行翻转的90度顺时针旋转。这是VS的解释。
第一次理解错误了,正确的是(以1为例)先进行90度顺时针旋转,再以Y轴为中心线水平翻转。同样的(以3为例)先进行90度顺时针旋转,再以Y轴为中心线水平翻转,接着以X轴为中心线垂直翻转。




  
enum RotateFlipType  
{  
    RotateNoneFlipNone = 0,   //指定不进行旋转和翻转  
    Rotate90FlipNone   = 1,   //指定不进行翻转的 90 度旋转  
    Rotate180FlipNone  = 2,   //指定不进行翻转的 180 度旋转  
    Rotate270FlipNone  = 3,   //指定不进行翻转的 270 度旋转  
  
    RotateNoneFlipX    = 4,   //指定水平翻转不旋转  
    Rotate90FlipX      = 5,   //指定90 度旋转后接水平翻转  
    Rotate180FlipX     = 6,   //指定180 度旋转后接水平翻转  
    Rotate270FlipX     = 7,   //指定270 度旋转后接水平翻转  
  
    RotateNoneFlipY    = Rotate180FlipX,     
    Rotate90FlipY      = Rotate270FlipX,  
    Rotate180FlipY     = RotateNoneFlipX,  
    Rotate270FlipY     = Rotate90FlipX,  
  
    RotateNoneFlipXY   = Rotate180FlipNone,  
    Rotate90FlipXY     = Rotate270FlipNone,  
    Rotate180FlipXY    = RotateNoneFlipNone,  
    Rotate270FlipXY    = Rotate90FlipNone  
};  


Rotate(旋转)或Flip(翻转)图片,旋转为顺时针,先旋转,再翻转
windows .net(C#+MSSQL) linux(php+mysql)  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|软件编程 ( 鄂ICP备11006601号鄂公网安备 42011102001337号 |

GMT+8, 2018-6-19 14:45 , Processed in 0.126505 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表