zoukankan      html  css  js  c++  java
  • 截取部分BMP图像

    方法1:

    resultBitmap.SetPixel(x, y, sourceBitmap.GetPixel(offsetX + x, offsetY+y))

     

     /// <summary>   

     /// get a certain rectangle part of a known graphic   

     /// </summary>   

     /// <param name="bitmapPathAndName">path and name of the source graphic</param>   

    /// <param name="width">width of the part graphic</param>   

    /// <param name="height">height of the part graphic</param>   

    /// <param name="offsetX">the width offset in the source graphic</param>   

    /// <param name="offsetY">the height offset in the source graphic</param>   

    /// <returns>wanted graphic</returns>   

    public Bitmap GetPartOfImage(string bitmapPathAndName, int width, int height,int offsetX,int offsetY)   

    {   

       Bitmap sourceBitmap = new Bitmap(bitmapPathAndName);   

        Bitmap resultBitmap = new Bitmap(width, height);   

        for (int x = 0; x < width; x++)   

        {   

            for (int y = 0; y < height; y++)   

            {   

                if (offsetX + x < sourceBitmap.Size.Width & offsetY + y < sourceBitmap.Size.Height)    

                {   

                    resultBitmap.SetPixel(x, y, sourceBitmap.GetPixel(offsetX + x, offsetY+y));   

                }   

            }   

        }   

        return resultBitmap;   

    }    

          

    方法2:

     

    Graphics g = Graphics.FromImage(resultBitmap)

    g.DrawImage(sourceBitmap, resultRectangle, sourceRectangle, GraphicsUnit.Pixel)

    /// <summary>   

    /// get a certain rectangle part of a known graphic   

    /// </summary>   

    /// <param name="bitmapPathAndName">path and name of the source graphic</param>   

    /// <param name="width">width of the part graphic</param>   

    /// <param name="height">height of the part graphic</param>   

    /// <param name="offsetX">the width offset in the source graphic</param>   

    /// <param name="offsetY">the height offset in the source graphic</param>   

    /// <returns>wanted graphic</returns>   

    public Bitmap GetPartOfImage(string bitmapPathAndName, int width, int height, int offsetX, int offsetY)   

    {   

        Bitmap sourceBitmap = new Bitmap(bitmapPathAndName);   

        Bitmap resultBitmap = new Bitmap(width, height);   

        using (Graphics g = Graphics.FromImage(resultBitmap))   

        {   

            Rectangle resultRectangle = new Rectangle(0, 0, Width, height);   

            Rectangle sourceRectangle = new Rectangle(0+offsetX, 0+offsetY, Width, height);   

            g.DrawImage(sourceBitmap, resultRectangle, sourceRectangle, GraphicsUnit.Pixel);   

        }   

        return resultBitmap;   

    
  • 相关阅读:
    Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)-C. Plasticine zebra
    牛客网-小白月赛6-J-洋灰三角
    树的最长链-POJ 1985 树的直径(最长链)+牛客小白月赛6-桃花
    BZOJ-4318-OSU!期望DP
    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)-D- Array Restoration
    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)-C-Bracket Subsequence
    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)-A-Single Wildcard Pattern Matching
    Codeforces Round #503 (by SIS, Div. 2)-C. Elections
    百度之星-day1-1003-度度熊剪纸条
    百度之星-day2-1004-二分答案
  • 原文地址:https://www.cnblogs.com/mane/p/2005585.html
Copyright © 2011-2022 走看看