最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.net c# gif動畫如何添加圖片水印實現(xiàn)思路及代碼

 更新時間:2013年03月12日 16:59:38   作者:  
本文將詳細介紹下c#實現(xiàn)gif動畫添加圖片水印,思路很清晰,感興趣的你可以參考下哈,希望可以幫助到你
復(fù)制代碼 代碼如下:

public static Bitmap WaterMarkWithText(System.Drawing.Bitmap origialGif, string
text,string filePath)
{
//用于存放楨
List<Frame> frames = new
List<Frame>();
//如果不是gif文件,直接返回原圖像
if (origialGif.RawFormat.Guid
!= System.Drawing.Imaging.ImageFormat.Gif.Guid)
{
return origialGif;

}
//如果該圖像是gif文件
foreach (Guid guid in
origialGif.FrameDimensionsList)
{
System.Drawing.Imaging.FrameDimension
frameDimension = new System.Drawing.Imaging.FrameDimension(guid);
int
frameCount = origialGif.GetFrameCount(frameDimension);
for (int i = 0; i
< frameCount; i++)
{
if (origialGif.SelectActiveFrame(frameDimension,
i) == 0)
{
int delay =
Convert.ToInt32(origialGif.GetPropertyItem(20736).Value.GetValue(i));
Image
img = Image.FromHbitmap(origialGif.GetHbitmap());
Font font = new Font(new
FontFamily("宋體"), 35.0f,FontStyle.Bold);
Graphics g =
Graphics.FromImage(img);
g.DrawString(text, font, Brushes.BlanchedAlmond,
new PointF(10.0f, 10.0f));
Frame frame = new Frame(img, delay);

frames.Add(frame);
}
}
Gif.Components.AnimatedGifEncoder gif =
new Gif.Components.AnimatedGifEncoder();
gif.Start(filePath);

gif.SetDelay(100);
gif.SetRepeat(0);
for (int i = 0; i <
frames.Count; i++)
{
gif.AddFrame(frames[i].Image);
}

gif.Finish();
try
{
Bitmap gifImg =
(Bitmap)Bitmap.FromFile(filePath);
return gifImg;
}
catch
{

return origialGif;
}
}
return origialGif;
}

相關(guān)文章

  • asp.net 支持多語言站點的實現(xiàn)方法

    asp.net 支持多語言站點的實現(xiàn)方法

    asp.net 支持多語言站點的實現(xiàn)方法,對于想用asp.net做多語言網(wǎng)站的朋友可以參考下,充分發(fā)揮asp.net的功能。
    2010-03-03
  • 如何判斷?.NET?Core?應(yīng)用程序以管理員身份運行的

    如何判斷?.NET?Core?應(yīng)用程序以管理員身份運行的

    這篇文章主要介紹了如何判斷?.NET?Core?應(yīng)用程序是以管理員身份運行的,我們需要知道當前程序是否以管理員身份運行,以便執(zhí)行一些需要特殊權(quán)限的操作,下面為我們就來學(xué)習(xí)具體的方法吧,需要的朋友可以參考一下
    2022-03-03
  • asp.net EXECUTENONQUERY()返回值介紹

    asp.net EXECUTENONQUERY()返回值介紹

    前些日子作一些數(shù)據(jù)項目的時候 在ADO.NET 中處理 ExecuteNonQuery()方法時,總是通過判斷其返回值是否大于0來判斷操作時候成功 。但是實際上并不是這樣的,下面詳細介紹一下,有需要的朋友可以參考
    2013-08-08
  • ASP.NET中的Cache使用介紹

    ASP.NET中的Cache使用介紹

    這篇文章主要介紹了ASP.NET中的Cache使用介紹,本文講解了Cache 是怎么工作的、Cache 怎么創(chuàng)建及怎么銷毀、什么時候用cache、cache 調(diào)用注意事項等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • Asp.net實現(xiàn)手寫驗證碼的操作代碼

    Asp.net實現(xiàn)手寫驗證碼的操作代碼

    這篇文章主要介紹了Asp.net實現(xiàn)手寫驗證碼的操作代碼,首先我們來實現(xiàn)生成 生成驗證碼的這一部分,這時候我們需要封裝一個類,里面有生成圖片和字符的方法,其實本質(zhì)上就是一個隨機數(shù),這個類卸載Model里面即可,具體操作代碼跟隨小編一起看看吧
    2024-05-05
  • .NET?Core基于EMIT編寫的輕量級AOP框架CZGL.AOP

    .NET?Core基于EMIT編寫的輕量級AOP框架CZGL.AOP

    這篇文章介紹了.NET?Core基于EMIT編寫的輕量級AOP框架CZGL.AOP,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • ASP.net(C#)從其他網(wǎng)站抓取內(nèi)容并截取有用信息的實現(xiàn)代碼

    ASP.net(C#)從其他網(wǎng)站抓取內(nèi)容并截取有用信息的實現(xiàn)代碼

    ASP.net(C#)從其他網(wǎng)站抓取內(nèi)容并截取有用信息的實現(xiàn)代碼,需要的朋友可以參考下。
    2011-09-09
  • Asp.Net Core2.1前后使用HttpClient的兩種方式

    Asp.Net Core2.1前后使用HttpClient的兩種方式

    這篇文章主要給大家介紹了關(guān)于Asp.Net Core2.1前后HttpClient的使用方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • .NET 中的裝箱與拆箱實現(xiàn)過程

    .NET 中的裝箱與拆箱實現(xiàn)過程

    本文分別介紹裝箱(boxing)與拆箱(unboxing)的實現(xiàn)過程,感興趣的朋友可以了解下
    2013-01-01
  • asp.net fileupload控件上傳文件與多文件上傳

    asp.net fileupload控件上傳文件與多文件上傳

    這篇文章主要介紹了asp.net fileupload控件上傳文件的方法,fileupload控件多文件上傳,以及fileupload上傳時實現(xiàn)文件驗證的方法,需要的朋友可以參考下
    2014-11-11

最新評論

江津市| 岐山县| 铁岭县| 右玉县| 河曲县| 武安市| 集安市| 无为县| 巴南区| 兰考县| 大同市| 镇沅| 聂荣县| 陇南市| 托克托县| 南岸区| 长寿区| 涪陵区| 寿光市| 方城县| 鹿泉市| 手游| 桃园县| 台东县| 安福县| 龙山县| 巴林右旗| 呼图壁县| 金门县| 康平县| 秭归县| 曲阳县| 德惠市| 资中县| 津南区| 定结县| 梧州市| 延川县| 开远市| 张北县| 平远县|