国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 將透明圖片的非透明區域轉換成Region的實例代碼

2020-01-24 03:07:58
字體:
來源:轉載
供稿:網友

需要設置允許不安全代碼.....項目->屬性->生成->允許不安全代碼

復制代碼 代碼如下:

/// <summary>
        /// 根據圖片得到一個圖片非透明部分的區域
      /// </summary>
        /// <param name="bckImage"></param>
        /// <returns></returns>
        private unsafe Region GetRegion(Bitmap bckImage)
        {
            GraphicsPath path = new GraphicsPath();
            int w = bckImage.Width;
            int h = bckImage.Height;
            BitmapData bckdata = null;
            try
            {
                bckdata = bckImage.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
                uint* bckInt = (uint*)bckdata.Scan0;
                for (int j = 0; j < h; j++)
                {
                    for (int i = 0; i < w; i++)
                    {
                        if ((*bckInt & 0xff000000) != 0)
                        {
                            path.AddRectangle(new Rectangle(i, j, 1, 1));
                        }
                        bckInt++;
                    }
                }
                bckImage.UnlockBits(bckdata); bckdata = null;
            }
            catch
            {
                if (bckdata != null)
                {
                    bckImage.UnlockBits(bckdata);
                    bckdata = null;
                }
            }
            Region region = new System.Drawing.Region(path);
            path.Dispose(); path = null;
            return region;
        }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇庆市| 全州县| 错那县| 个旧市| 丹凤县| 安塞县| 江门市| 榕江县| 晋城| 乐平市| 镇赉县| 慈溪市| 淮阳县| 吉隆县| 宜阳县| 阿城市| 九龙城区| 五台县| 太白县| 牙克石市| 碌曲县| 佛山市| 洛南县| 航空| 卢湾区| 汉寿县| 马尔康县| 林西县| 交城县| 大石桥市| 仪陇县| 周口市| 永福县| 通化县| 米林县| 全椒县| 湘阴县| 湾仔区| 陵川县| 若羌县| 勐海县|