欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 添加圖片水印類實(shí)現(xiàn)代碼

 更新時(shí)間:2009年05月20日 00:45:41   作者:  
圖片水印類實(shí)現(xiàn)代碼,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;
using System.Web;
using System.Drawing.Drawing2D;
using System.Reflection;
namespace Chen
{
public class warterPic
{
/// <summary>
/// 給圖片上水印
/// </summary>
/// <param name="filepath">原圖片地址</param>
/// <param name="waterfile">水印圖片地址</param>
///
public void markwater(string filepath, string waterfile)
{
//gif不水印
int i = filepath.LastIndexOf(".");
string ex = filepath.Substring(i, filepath.Length - i);
if (string.Compare(ex, ".gif", true) == 0)
{
return;
}
string modifyimagepath = filepath;//修改的圖像路徑
int lucencypercent = 25;
Image modifyimage = null;
Image drawedimage = null;
Graphics g = null;
try
{
//建立圖形對象
modifyimage = Image.FromFile(modifyimagepath, true);
drawedimage = Image.FromFile(waterfile, true);
g = Graphics.FromImage(modifyimage);
//獲取要繪制圖形坐標(biāo)
int x = modifyimage.Width - drawedimage.Width;
int y = modifyimage.Height - drawedimage.Height; //設(shè)置顏色矩陣
float[][] matrixitems ={ new float[] { 1, 0, 0, 0, 0 }, new float[] { 0, 1, 0, 0, 0 }, new float[] { 0, 0, 1, 0, 0 }, new float[] { 0, 0, 0, (float)lucencypercent / 100f, 0 }, new float[] { 0, 0, 0, 0, 1 } };
ColorMatrix colormatrix = new ColorMatrix(matrixitems);
ImageAttributes imgattr = new ImageAttributes();
imgattr.SetColorMatrix(colormatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); //繪制陰影圖像
g.DrawImage(drawedimage, new Rectangle(x, y, drawedimage.Width, drawedimage.Height), 10, 10, drawedimage.Width, drawedimage.Height, GraphicsUnit.Pixel, imgattr); //保存文件
string[] allowimagetype ={ ".jpg", ".gif", ".png", ".bmp", ".tiff", ".wmf", ".ico" };
FileInfo fi = new FileInfo(modifyimagepath);
ImageFormat imagetype = ImageFormat.Gif;
switch (fi.Extension.ToLower())
{
case ".jpg":
imagetype = ImageFormat.Jpeg;
break;
case ".gif":
imagetype = ImageFormat.Gif;
break;
case ".png":
imagetype = ImageFormat.Png;
break;
case ".bmp":
imagetype = ImageFormat.Bmp;
break;
case ".tif":
imagetype = ImageFormat.Tiff;
break;
case ".wmf":
imagetype = ImageFormat.Wmf;
break;
case ".ico":
imagetype = ImageFormat.Icon;
break;
default: break;
}
MemoryStream ms = new MemoryStream();
modifyimage.Save(ms, imagetype);
byte[] imgdata = ms.ToArray();
modifyimage.Dispose();
drawedimage.Dispose();
g.Dispose();
FileStream fs = null;
//File.Delete(modifyimagepath);
fs = new FileStream(modifyimagepath, FileMode.Create, FileAccess.Write);
if (fs != null)
{
fs.Write(imgdata, 0, imgdata.Length);
fs.Close();
}
}
finally
{
try
{
drawedimage.Dispose();
modifyimage.Dispose();
g.Dispose();
}
catch
{ }
}
}
}
}

相關(guān)文章

  • 壓力測試中需要掌握的幾個(gè)基本概念

    壓力測試中需要掌握的幾個(gè)基本概念

    一個(gè)asp.net的頁面。對于壓力測試,必須時(shí)時(shí)刻刻做,如果不知道自己的應(yīng)用能夠承載多少的并發(fā)用戶數(shù),那基本上就是在扔定時(shí)炸彈
    2011-09-09
  • 淺談.Net中的序列化和反序列化

    淺談.Net中的序列化和反序列化

    這篇文章主要介紹了.Net中的序列化和反序列化的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 值類型和引用類型的區(qū)別深入理解

    值類型和引用類型的區(qū)別深入理解

    值類型通常被分配在棧上,它的變量直接包含變量的實(shí)例,使用效率比較高;引用類型分配在托管堆上,引用類型的變量通常包含一個(gè)指向?qū)嵗闹羔?,變量通過該指針來引用實(shí)例,需要的朋友可以了解下
    2012-12-12
  • ASP.NET MVC實(shí)現(xiàn)橫向展示購物車

    ASP.NET MVC實(shí)現(xiàn)橫向展示購物車

    這篇文章介紹了ASP.NET MVC實(shí)現(xiàn)橫向展示購物車的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • ASP.NET生成樹形顯示的GridView實(shí)現(xiàn)思路

    ASP.NET生成樹形顯示的GridView實(shí)現(xiàn)思路

    生成樹形結(jié)構(gòu)的表格數(shù)據(jù)(EasyUI也有TreeGrid,此處只是提供一個(gè)思路),可以擴(kuò)展單擊展開/收縮節(jié)點(diǎn),喜歡的朋友可以了解下啊,或許本文對你學(xué)習(xí)GridView有所幫助
    2013-02-02
  • ASP.NET 4.0配置文件中的ClientIDMode屬性詳解

    ASP.NET 4.0配置文件中的ClientIDMode屬性詳解

    在ASP.NET 4.0中的每個(gè)控件上都多了一個(gè)叫做ClientIDMode的屬性,本文主要介紹了ASP.NET 4.0配置文件中的ClientIDMode屬性詳解,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-11-11
  • asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用ffmpeg轉(zhuǎn)換法)

    asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用ffmpeg轉(zhuǎn)換法)

    AMR轉(zhuǎn)MP3可實(shí)現(xiàn)將手機(jī)上的AMR錄音轉(zhuǎn)換成流行的MP3格式,以適用更廣泛的應(yīng)用。AMR的體積非常小,適用于存儲(chǔ)在手機(jī)中,當(dāng)我們想將在手機(jī)上的音頻上傳到網(wǎng)絡(luò),就需要將其轉(zhuǎn)換成MP3等流行的格式,本文就是介紹asp.net利用ffmpeg轉(zhuǎn)換法將.amr轉(zhuǎn).mp3的方法,下面來一起看看吧。
    2016-12-12
  • .NET?Framework?的項(xiàng)目如何使用?FTP?下載文件

    .NET?Framework?的項(xiàng)目如何使用?FTP?下載文件

    本文專門針對面向?.NET?Framework?的項(xiàng)目,?對于面向?.NET?6?及更高版本的項(xiàng)目,不再支持?FTP,此示例演示如何從?FTP?服務(wù)器下載文件,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • ASP.Net的Application介紹

    ASP.Net的Application介紹

    注:這個(gè)事件,寫不寫On是一樣的。如Application_End與Application_OnEnd是一樣的
    2013-07-07
  • 使用DataAdapter填充多個(gè)表(利用DataRelation)的實(shí)例代碼

    使用DataAdapter填充多個(gè)表(利用DataRelation)的實(shí)例代碼

    使用DataAdapter填充多個(gè)表(利用DataRelation)的實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03

最新評論