a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

使用C#繪制圖片的幾個方法

2023-05-14 16:26:28
字體:
來源:轉載
供稿:網友

本文介紹了使用C#繪制圖片的幾個方法,主要解決了以下幾個問題:

1)如何獲取.gif圖片中的各個幀?

2)如何獲取圖片的縮略圖?

3)如何“截取”圖片的指定區域?

using System.Drawing;  
using System.Drawing.Drawing2D;  
using System.Drawing.Imaging;  
 
public class ImageHelper  
{  
    /// <summary><SUMMARY></SUMMARY>  
    /// 獲取圖片中的各幀  
    /// </summary>  
    /// <param name="pPath"><PARAM name="pPath" />圖片路徑</param>  
    /// <param name="pSavePath"><PARAM name="pSavePath" />保存路徑</param>  
    public void GetFrames(string pPath, string pSavedPath)  
    {  
        Image gif = Image.FromFile(pPath);  
        FrameDimension fd = new FrameDimension(gif.FrameDimensionsList[0]);  
 
        //獲取幀數(gif圖片可能包含多幀,其它格式圖片一般僅一幀)  
        int count = gif.GetFrameCount(fd);  
 
        //以Jpeg格式保存各幀   
        for (int i = 0; i < count; i++)  
        {  
            gif.SelectActiveFrame(fd, i);  
            gif.Save(pSavedPath + "//frame_" + i + ".jpg", ImageFormat.Jpeg);  
        }  
    }  
 
    /// <summary><SUMMARY></SUMMARY>  
    /// 獲取圖片縮略圖  
    /// </summary>  
    /// <param name="pPath"><PARAM name="pPath" />圖片路徑</param>  
    /// <param name="pSavePath"><PARAM name="pSavePath" />保存路徑</param>  
    /// <param name="pWidth"><PARAM name="pWidth" />縮略圖寬度</param>  
    /// <param name="pHeight"><PARAM name="pHeight" />縮略圖高度</param>  
    /// <param name="pFormat"><PARAM name="pFormat" />保存格式,通常可以是jpeg</param>  
    public void GetSmaller(string pPath, string pSavedPath, int pWidth, int pHeight)  
    {  
        try 
        {  
            Image smallerImg;  
            Image originalImg = Image.FromFile(pPath);  
            Image.GetThumbnailImageAbort callback = new Image.GetThumbnailImageAbort(ThumbnailCallback);  
            smallerImg = originalImg.GetThumbnailImage(pWidth, pHeight, callback, IntPtr.Zero);  
            smallerImg.Save(pSavedPath + "//smaller.jpg", ImageFormat.Jpeg);  
        }  
        catch (Exception x)  
        {  
            //  
        }  
    }  
 
    /// <summary><SUMMARY></SUMMARY>  
    /// 獲取圖片指定部分  
    /// </summary>  
    /// <param name="pPath"><PARAM name="pPath" />圖片路徑</param>  
    /// <param name="pSavePath"><PARAM name="pSavePath" />保存路徑</param>  
    /// <param name="pPartStartPointX"><PARAM name="pPartStartPointX" />目標圖片開始繪制處的坐標X值(通常為)</param>  
    /// <param name="pPartStartPointY"><PARAM name="pPartStartPointY" />目標圖片開始繪制處的坐標Y值(通常為)</param>  
    /// <param name="pPartWidth"><PARAM name="pPartWidth" />目標圖片的寬度</param>  
    /// <param name="pPartHeight"><PARAM name="pPartHeight" />目標圖片的高度</param>  
    /// <param name="pOrigStartPointX"><PARAM name="pOrigStartPointX" />原始圖片開始截取處的坐標X值</param>  
    /// <param name="pOrigStartPointY"><PARAM name="pOrigStartPointY" />原始圖片開始截取處的坐標Y值</param>  
    /// <param name="pFormat"><PARAM name="pFormat" />保存格式,通常可以是jpeg</param>  
    public void GetPart(string pPath, string pSavedPath, int pPartStartPointX, int pPartStartPointY, int pPartWidth, int pPartHeight, int pOrigStartPointX, int pOrigStartPointY)  
    {  
        Image originalImg = Image.FromFile(pPath);  
 
        Bitmap partImg = new Bitmap(pPartWidth, pPartHeight);  
        Graphics graphics = Graphics.FromImage(partImg);  
        Rectangle destRect = new Rectangle(new Point(pPartStartPointX, pPartStartPointY), new Size(pPartWidth, pPartHeight));//目標位置  
        Rectangle origRect = new Rectangle(new Point(pOrigStartPointX, pOrigStartPointY), new Size(pPartWidth, pPartHeight));//原圖位置(默認從原圖中截取的圖片大小等于目標圖片的大小)  
 
        graphics.DrawImage(originalImg, destRect, origRect, GraphicsUnit.Pixel);  
        partImg.Save(pSavedPath + "//part.jpg", ImageFormat.Jpeg);  
    }  
 
    public bool ThumbnailCallback()  
    {  
        return false;  
    }  
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色综合天天综合网国产成人网 | www.91在线| 国产一区二区在线免费观看 | 一区二区三区在线视频免费观看 | 中文字幕不卡 | 久久精品国产免费看久久精品 | 韩国久久精品 | 欧美三级视频在线观看 | 狠狠爱www人成狠狠爱综合网 | 精品亚洲永久免费精品 | 蜜桃久久久 | 最新永久地址 | 久久久精品日本 | 亚洲美女网站 | 日韩精品一区二区三区在线 | 久久国产精品99国产 | 黄久久久 | 中文字幕av一区二区 | 精品国产鲁一鲁一区二区三区 | 日韩免费高清视频 | 日韩一区二区在线观看视频 | 日韩精品 | 亚洲一区二区三区四区五区午夜 | 国产亚洲欧美在线 | 久久国产精品久久久久久 | 天天操天天拍 | 国产不卡视频一区二区三区 | 五月天婷婷激情视频 | 插插射啊爱视频日a级 | 欧美 日韩 国产 一区 | 成人自拍偷拍 | 色约约精品免费看视频 | 美女久久 | 精品久久久久久国产 | 欧美日韩一区在线 | 欧美性猛交一区二区三区精品 | 国产超碰人人模人人爽人人添 | 亚洲精品视频三区 | 国产精品久久久久久久久 | 99re在线视频 | www.亚洲一区 |