zoukankan      html  css  js  c++  java
  • Graphics 小记

    1.切图

    drowg.DrawImage(productImg1, new System.Drawing.Rectangle(30, 30, 300, 300), new System.Drawing.Rectangle(0, 0, 100, 100), System.Drawing.GraphicsUnit.Pixel);

    2个Rectangle的理解。之前对这个理解有误。(将2个区域的作用理解反了。)

    来理解下这2个Rectangle的意思。。先看第二个

    第二个Rectangle。( new System.Drawing.Rectangle(0, 0, 100, 100))

    切图,表示将原图从x:0,y:0的位置进行剪切w:100,h:100。

    第一个Rectangle。( new System.Drawing.Rectangle(30, 30, 300, 300))

    填充,表示将第二个Rectangle的区域填充至x:30,y:30的位置。并设置w:300,h:300.进行伸缩。

     2.旋转

    需求:在画布中完成图片旋转的功能,网上倒是有很多但都不合意。下面是我用的方法:

        public static void DrawImg(this Bitmap canvas, int angle, Image img, int imgX, int imgY, int imgW, int imgH)
        {
            var g1 = Graphics.FromImage(canvas);
    
            g1.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            g1.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
    
            //计算X,Y的原点
            var pointX = imgX + imgW / 2;
            var pointY = imgY + imgH / 2;
    
            g1.TranslateTransform(pointX, pointY);
            //旋转角度
            g1.RotateTransform(angle);
            //恢复原点
            g1.TranslateTransform(-pointX, -pointY);
            //画图
            g1.DrawImage(img, new System.Drawing.Rectangle(imgX, imgY, imgW, imgH));
            g1.ResetTransform();
        }

    调用:

            canvas.DrawImg(0, productImg1, 0, 0, 300, 300);
            canvas.DrawImg(20, productImg2, 0, 0, 100, 100);
            canvas.DrawImg(30, productImg3, 100, 100, 200, 200);
            canvas.DrawImg(240, productImg4, 200, 200, 300, 300);
            canvas.DrawImg(350, productImg5, 300, 300, 150, 150);
  • 相关阅读:
    图解插入排序
    图解冒泡排序
    break 和continue的两种用法
    循环的使用选择
    jstl标签库使用报错index_jsp.java找不到问题
    [Android 除錯] Conflict with dependency
    jQueryMobile 網頁使用 ASP.NET Web API 服務
    Chart.js 與 ASP.NET MVC 整合應用
    HTML5 新增的 input 事件
    ASP.NET MVC 5 實作 GridView 分頁
  • 原文地址:https://www.cnblogs.com/shikyoh/p/3539469.html
Copyright © 2011-2022 走看看