回 帖 发 新 帖 刷新版面

主题:[原创]简单实用的给图片加水印源代码

在窗体上添加3个图片框,它们的ScaleMode属性都设为3,AutoRedraw属性都设为True,其中Picture1加载背景图像,Size要大一点,水印也将要加在这上面;Picture2加载水印图像,Size要小一点;Picture3打印水印文字。
  再添加2个按纽,点击Command1时,就把Picture2上的图像加到Picture1上,点击Command2时,则把Picture3上的文字加到Picture1上。
  水印可调节透明度,其值在10-90之间选择,此值越大越透明。
  文字颜色、字体、以及水印位置都可自由设置。
  你可以只加图像水印或只加文字水印,也可两者都加。
  代码较简单,不多说了。

Private Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Private Sub Command1_Click()     '加水印图像
Dim transparence As Integer      '水印透明度
Dim x1 As Integer, y1 As Integer '水印图取点坐标
Dim x2 As Integer, y2 As Integer '背景图取点坐标
Dim color As Long
Dim r1 As Integer, g1 As Integer, b1 As Integer
Dim r2 As Integer, g2 As Integer, b2 As Integer

transparence = 50 '此值在 10-90 之间,越大越透明
y2 = (Picture1.Height - Picture2.Height) / 15 - 20

For y1 = 0 To Picture2.ScaleHeight - 1
  x2 = (Picture1.Width - Picture2.Width) / 15 - 20
  For x1 = 0 To Picture2.ScaleWidth - 1
  
    color = GetPixel(Picture2.hdc, x1, y1) '从水印图像取点
    r1 = color Mod 256
    g1 = color \ 256 Mod 256
    b1 = color \ 256 \ 256
    
    color = GetPixel(Picture1.hdc, x2, y2) '从背景图像取点
    r2 = color Mod 256
    g2 = color \ 256 Mod 256
    b2 = color \ 256 \ 256
    
    r1 = r1 - transparence * (r1 - r2) / 100
    g1 = g1 - transparence * (g1 - g2) / 100
    b1 = b1 - transparence * (b1 - b2) / 100

    SetPixelV Picture1.hdc, x2, y2, RGB(r1, g1, b1)
    x2 = x2 + 1
  Next
  y2 = y2 + 1
Next

Picture1.Refresh
End Sub

Private Sub Command2_Click()     '加水印字符
Dim transparence As Integer      '水印透明度
Dim x1 As Integer, y1 As Integer '水印字符图取点坐标
Dim x2 As Integer, y2 As Integer '背景图取点坐标
Dim color As Long
Dim r1 As Integer, g1 As Integer, b1 As Integer
Dim r2 As Integer, g2 As Integer, b2 As Integer
Dim st As String

transparence = 50
y2 = (Picture1.Height - Picture3.Height) / 15 - 20
st = "编程爱好者"

Picture3.Width = Picture3.TextWidth(st) * 15 + 60
Picture3.Height = Picture3.TextHeight(st) * 15 + 60
Picture3.ForeColor = vbWhite
Picture3.FontSize = 14
Picture3.FontBold = True
Picture3.Cls
Picture3.Print st
Picture3.Refresh

For y1 = 0 To Picture3.ScaleHeight - 1
  x2 = (Picture1.Width - Picture3.Width) / 15 - 20
  For x1 = 0 To Picture3.ScaleWidth - 1
    color = GetPixel(Picture3.hdc, x1, y1) '从水印字符图取点
    If color = vbWhite Then
      r1 = color Mod 256
      g1 = color \ 256 Mod 256
      b1 = color \ 256 \ 256
      
      color = GetPixel(Picture1.hdc, x2, y2) '从背景图像取点
      r2 = color Mod 256
      g2 = color \ 256 Mod 256
      b2 = color \ 256 \ 256
    
      r1 = r1 - transparence * (r1 - r2) / 100
      g1 = g1 - transparence * (g1 - g2) / 100
      b1 = b1 - transparence * (b1 - b2) / 100

      SetPixelV Picture1.hdc, x2, y2, RGB(r1, g1, b1)
    End If
    x2 = x2 + 1
  Next
  y2 = y2 + 1
Next

Picture1.Refresh
End Sub

回复列表 (共19个回复)

11 楼

http://www.cmd59.com/html/690.html   也是一个 图片加水印的源码也很不错啊

12 楼


用GETPIXEL和PUTPIXEL太慢了,可以考虑采用内存位图与位图数据获取方式提高速度

13 楼

《卷宗》杂志社 征稿启事
杂志社直接收稿,超低价格,欢迎咨询投稿!QQ:768244633


    《卷宗》杂志,主管单位:四川省科技厅;主办单位:四川省科学技术信息研究所、四川省兴川战略促进中心。国际刊号:ISSN 1005-4669,国内刊号:CN 51-1737/G0。杂志刊登范围涉及经济金融、工程建筑、经营管理、理论创新、财会审计、教育教学、科学技术、行业创新等各类稿件。随着社会各行业的不断发展和进步,作为媒介的我们将目光开始投向更多领域,关注更多行业的发展。为此开辟各行业专栏,搭建一个“百家争鸣”的平台,充分展示各行业领域中的新发展,新思想,新观念,新技术,更好的推动各个行业领域的发展与进步。

用稿范围:本刊稿源来自全国各高等院校,相关专业研究机构以及国内大型文化单位、各类学校、科技研发企业设置的专业研究所。可以发表 :文化建设、社会发展、财会审计、历史艺术、影视传媒、计算机技术,通信技术类、电子技术类、电气控制类、电子商务类、电算化类、多媒体教学类、科技教育、基础科学、建筑工程、图书馆及科技管理、人事管理、经济管理及 市场分析等文章。
    全文上万方,超低价格,欢迎直接投稿和组稿!QQ:811273340

■咨询电话:010-64462681/81869766(早9:00-晚6:00)
■投稿信箱:tougao@kejiao.org   kejiao2010@sina.com
■负责人:高慧珊    即时QQ:768844282 /811273340
■手机:13651063989(开通短信咨询,随时拨打)
■官方网址:www.kejiao.org(更多刊物,欢迎咨询!)

14 楼


《卷宗》杂志社 征稿启事
杂志社直接收稿,超低价格,欢迎咨询投稿!QQ:768244633


    《卷宗》杂志,主管单位:四川省科技厅;主办单位:四川省科学技术信息研究所、四川省兴川战略促进中心。国际刊号:ISSN 1005-4669,国内刊号:CN 51-1737/G0。杂志刊登范围涉及经济金融、工程建筑、经营管理、理论创新、财会审计、教育教学、科学技术、行业创新等各类稿件。随着社会各行业的不断发展和进步,作为媒介的我们将目光开始投向更多领域,关注更多行业的发展。为此开辟各行业专栏,搭建一个“百家争鸣”的平台,充分展示各行业领域中的新发展,新思想,新观念,新技术,更好的推动各个行业领域的发展与进步。

用稿范围:本刊稿源来自全国各高等院校,相关专业研究机构以及国内大型文化单位、各类学校、科技研发企业设置的专业研究所。可以发表 :文化建设、社会发展、财会审计、历史艺术、影视传媒、计算机技术,通信技术类、电子技术类、电气控制类、电子商务类、电算化类、多媒体教学类、科技教育、基础科学、建筑工程、图书馆及科技管理、人事管理、经济管理及 市场分析等文章。
    全文上万方,超低价格,欢迎直接投稿和组稿!QQ:811273340

■咨询电话:010-64462681/81869766(早9:00-晚6:00)
■投稿信箱:tougao@kejiao.org   kejiao2010@sina.com
■负责人:高慧珊    即时QQ:768844282 /811273340
■手机:13651063989(开通短信咨询,随时拨打)
■官方网址:www.kejiao.org(更多刊物,欢迎咨询!)

15 楼


   [url=http://www.sybenet.com]北京北大青鸟[/url]都有哪些专业?学什么专业是大家最关心的问题,为什么呢?只有选好了专业才有更好的前途。所以大家很关心自己学什么专业,常有很多学员这样咨询[url=http://www.sybenet.com]北大青鸟网站[/url]站在线老师这个问题,问北大青鸟都有哪些专业,针对这个问题,下面向大家统一介绍一下!

16 楼

NOT all that Mrs. Bennet, however, with the assistance of [url=http://www.timberlandforyou.com/]mens timberland boots[/url] her five daughters, could ask on the subject was sufficient to draw from her husband any satisfactory description of Mr. Bingley. They attacked him in various ways; with [url=http://www.timberlandforyou.com/]timberland 6 inch boots[/url] barefaced questions, ingenious suppositions, and distant surmises; but he eluded the skill of them all; and they were at last obliged to accept the second-hand intelligence of their [url=http://www.timberlandforyou.com/]timberland roll top[/url] neighbour Lady Lucas. Her report was highly favourable. Sir William had been delighted with him. He was quite young, wonderfully [url=http://www.timberlandforyou.com/]timberland roll top boot[/url] handsome, extremely agreeable, and, to crown the whole, he meant to be at the next assembly with a large party. Nothing could be more delightful! To be fond of dancing was a certain step towards [url=http://www.timberlandforyou.com/]timberland roll top boot[/url] falling in love; and very lively hopes of Mr. Bingley's heart were entertained.;If I can but see one of my daughters happily settled at Netherfield,; said Mrs. Bennet to her husband, ;and all the others [url=http://www.timberlandforyou.com/]Womens 14-Inch Premium Waterproof Boots[/url] equally well married, I shall have nothing to wish for.;In a few days Mr. Bingley returned Mr. Bennet's visit, and sat about ten minutes with him in his library. He had entertained [url=http://www.timberlandforyou.com/]shop timberland boots[/url] hopes of being admitted to a sight of the young ladies, of whose beauty he had heard much; but he saw only the father. The ladies were somewhat more fortunate, for they had the advantage [url=http://www.timberlandforyou.com/]timberland men boots[/url] of ascertaining, from an upper window, that he wore a blue coat and rode a black horse.An invitation to dinner was soon afterwards dispatched; and already had Mrs. Bennet planned the courses that were [url=http://www.timberlandforyou.com/]timberlands boots[/url] to do credit to her housekeeping, when an answer arrived which deferred it all. Mr. Bingley was obliged to be in town the following day, and consequently unable to accept the honour of their [url=http://www.timberlandforyou.com/]timberland boots on sale[/url] invitation, c. Mrs. Bennet was quite disconcerted. She could not imagine what business he could have in town so soon after his arrival in Hertfordshire; and she began to fear that he might [url=http://www.timberlandforyou.com/]cheap timberland boots[/url] be always flying about from one place to another, and never settled at Netherfield as he ought to be. Lady Lucas quieted her fears a little by starting the idea of his being gone to London only to [url=http://www.timberlandforyou.com/]timberland boots on sale[/url] get a large party for the ball; and a report soon followed that Mr. Bingley was to bring twelve ladies and seven gentlemen with him [url=http://www.timberlandforyou.com/]womens timberland boots[/url] to the assembly.
[url=http://www.timberlandforyou.com/]timberland 14 inch boots[/url] 
[url=http://www.timberlandforyou.com/]timberland working boots[/url] 
[url=http://www.timberlandforyou.com/]mens timberland boots[/url] zxj

17 楼


楼主说的太全了,太有用了,支持!
河南富源液压机器制造有限公司,http://www.hnfyyy.com/专业生产液压缸,液压系统。[em2]

18 楼

我也来了,取经来了

19 楼

1. A wizard dagger attack rate 1.65 +. Take all resistance, explode back to 10... (if resistance to high enough can change the land of a rod non-porous, no explosion injury, D3 Gold ​ several million).
2. Shield, crit 10 take full resistance (if any intellectual, physical, armor best)... If think survival enough words can change a garbage a vice + attack rate + detonation back, ignore the damage.
3. The crow head (around 400 strike back, http://www.d3itemsale.com/diablo3gold/ ​band suddenly and violently best, 3.5 storm is very cheap).
4. Ice ring rune 9 seconds, passive critical + pile method + (spiritual feeling or ghost)
5. Equipment six and attack rate affix.
6. No follow crit rate and the downside.
7. Ensure that 20 tight back, http://www.d3itemsale.com/diablo3gold/ ​of course, 30 will be more at ease.
8. The best health more than 40000... Difficult PP strange brutality, go to you to know.

我来回复

您尚未登录,请登录后再回复。点此登录或注册