熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#.NET windows控件實現水印

2013-11-13 10:24:52  來源: .NET編程 
 Windows控件在Web下的引用首先我們建立一個window控件項目名稱為EditImagePint然後

  C#.NET windows控件實現水印(圖一)

  我們把項目下的UserControlcs改為ImagePintcs切記文件名和構造函數都改!

  先制作界面首先在設計模式下我們將一個PictureBox拖放到解面上命名為pictureBox

  C#.NET windows控件實現水印(圖二)

  C#.NET windows控件實現水印(圖三)

  下面我們轉入代碼頁也就是ImagePintcs

  我們需要引用的對象有
using System;
using SystemCollections;
using SystemComponentModel;
using SystemDrawing;
using SystemData;
using SystemWindowsForms;
using SystemIO;
using SystemNet;

  然後我們寫一個函數

  private void ImagePint_Load(object sender SystemEventArgs e)
{
/*具體代碼我們下面介紹*/
}

  這個函數是為了在web頁面使用時候加載使用的

  然後我們看控件自己的生成代碼
thisLoad += new SystemEventHandler(thisImagePint_Load);
加如InitializeComponent()中
#region 組件設計器生成的代碼

  ///
/// 設計器支持所需的方法 不要使用代碼編輯器
/// 修改此方法的內容
///
private void InitializeComponent()
{
thispictureBox = new SystemWindowsFormsPictureBox();
thisSuspendLayout();
//
// pictureBox
//
thispictureBoxLocation = new SystemDrawingPoint( );
thispictureBoxName = pictureBox;
thispictureBoxTabIndex = ;
thispictureBoxTabStop = false;
//
// ImagePint
//
thisControlsAdd(thispictureBox);
thisName = ImagePint;
//看到了嗎?很明顯先面的是我們加上去的
thisLoad += new SystemEventHandler(thisImagePint_Load);
thisResumeLayout(false);

  }
#endregion

  有了這些東西組件就可以在web下使用了但是既然是水印就應該有原始圖片和水印圖片及一些其他的參數這裡我們就用公共函數至於web怎麼把值傳進去我們到下面再說

  #region 公共屬性

  //顯示寬度
public int ImgWidht
{
get {return _ImgWidth;}
set {_ImgWidth = value;}
}

  //顯示高度
public int ImgHeight
{
get {return _ImgHeight;}
set {_ImgHeight = value;}
}

  //透明度
private int Alpha
{
get {return _Alpha;}
set {_Alpha = value;}
}

  //主圖片地址
public string ZPicture
{
get {return _ZPicture;}
set {_ZPicture = value;}
}

  //水印圖片地址
public string FPicture
{
get {return _FPicture;}
set {_FPicture = value;}
}

  #endregion

  下面把完整的代碼貢獻給大家

  代碼拷貝框

[Ctrl+A 全部選擇 然後拷貝]

  然後我們把這個控件生成一個Release版本然後把生成的dll文件copy到你的虛擬目錄下然後就是web調用了我們先建立一個虛擬目錄比如說我們建立的虛擬目錄及地址為
localhost/Object/ImagePrint/
我們就把生成的 EditImagePintdll 文件copy到這個目錄下
並建立一個html文件把以下的代碼放進去

  <object id=print classid=//localhost/Object/ImagePrint/
EditImagePintdll#EditImagePintImagePint
Width= Height= VIEWASTEXT >
<param name=ImgWidht value=>
<param name=ImgHeight value=>
<param name=Alpha value=>
<param name=ZPicture value=>
<param name=FPicture value=>
</object>

  看到了把這些param就是我們的公共屬性了這樣就把值傳遞進去了

  最終顯示如下

  C#.NET windows控件實現水印(圖四)

  對不起大家目前還不支持GIF

  源碼下載點擊下載


From:http://tw.wingwit.com/Article/program/net/201311/13537.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.