用户登录
用户注册

分享至

vbword水印 VB给图片添加文字水印

  • 作者: MISS佳
  • 来源: 51数据库
  • 2020-04-21

VB6.0给已有图片添加文字可通过定位的Print 方法实现。要将添加文字的位图储存为JPG格式文件,需要使用API函数等实现。

具体步骤:

1)在图片框加载需要添加文字水印的图片。

2)使用如下代码实现添加文字到图片框。

PrivateSubCmdEdit_Click()'修改

DimstrTxtAsString

strTxt="风雨无阻拍摄"

Picture1.FontSize=18

Picture1.CurrentY=Picture1.ScaleHeight-30

Picture1.CurrentX=Picture1.ScaleWidth/2-Picture1.TextWidth(strTxt)/2

Picture1.ForeColor=vbWhite

Picture1.FontItalic=True

Picture1.PrintstrTxt

EndSub

3)将以下API转换图片格式代码放置于标准模块,模块命名为saveApg。

OptionExplicit

PublicTypeGUID

Data1AsLong

Data2AsInteger

Data3AsInteger

Data4(0To7)AsByte

EndType

PublicTypeGdiplusStartupInput

GdiplusVersionAsLong

DebugEventCallbackAsLong

SuppressBackgroundThreadAsLong

SuppressExternalCodecsAsLong

EndType

PublicTypeEncoderParameter

GUIDAsGUID

NumberOfValuesAsLong

typeAsLong

ValueAsLong

EndType

PublicTypeEncoderParameters

CountAsLong

ParameterAsEncoderParameter

EndType

PublicDeclareFunctionGdiplusStartupLib"GDIPlus"(tokenAsLong,inputbufAsGdiplusStartupInput,ByValoutputbufAsLong)AsLong

PublicDeclareFunctionGdiplusShutdownLib"GDIPlus"(ByValtokenAsLong)AsLong

PublicDeclareFunctionGdipCreateBitmapFromHBITMAPLib"GDIPlus"(ByValhbmAsLong,ByValhpalAsLong,BitmapAsLong)AsLong

PublicDeclareFunctionGdipDisposeImageLib"GDIPlus"(ByValImageAsLong)AsLong

PublicDeclareFunctionGdipSaveImageToFileLib"GDIPlus"(ByValImageAsLong,ByValfileNameAsLong,clsidEncoderAsGUID,encoderParamsAsAny)AsLong

PublicDeclareFunctionCLSIDFromStringLib"ole32"(ByValstrAsLong,idAsGUID)AsLong

PublicDeclareFunctionGdipCreateBitmapFromFileLib"GDIPlus"(ByValfileNameAsLong,BitmapAsLong)AsLong

PublicFunctionPictureBoxSaveJPG(ByValpictAsStdPicture,ByValfileNameAsString,OptionalByValqualityAsByte=80)AsBoolean

DimtSIAsGdiplusStartupInput

DimlResAsLong

DimlGDIPAsLong

DimlBitmapAsLong

'初始化GDI+

tSI.GdiplusVersion=1

lRes=GdiplusStartup(lGDIP,tSI,0)

IflRes=0Then

'从句柄创建GDI+图像

lRes=GdipCreateBitmapFromHBITMAP(pict.Handle,0,lBitmap)

IflRes=0Then

DimtJpgEncoderAsGUID

DimtParamsAsEncoderParameters

'初始化解码器的GUID标识

CLSIDFromStringStrPtr("{557CF401-1A04-11D3-9A73-0000F81EF32E}"),tJpgEncoder

'设置解码器参数

tParams.Count=1

WithtParams.Parameter'Quality

'得到Quality参数的GUID标识

CLSIDFromStringStrPtr("{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"),.GUID

.NumberOfValues=1

.type=4

.Value=VarPtr(quality)

EndWith

'保存图像

lRes=GdipSaveImageToFile(lBitmap,StrPtr(fileName),tJpgEncoder,tParams)

'销毁GDI+图像

GdipDisposeImagelBitmap

EndIf

'销毁GDI+

GdiplusShutdownlGDIP

EndIf

IflResThen

PictureBoxSaveJPG=False

Else

PictureBoxSaveJPG=True

EndIf

EndFunction

4)使用以下代码实现将加好文字水印图片保存为jpg格式图片。

PrivateSubCommand3_Click()'保存为.jpg图片

'设置“CancelError”为True

CommonDialog1.CancelError=True

OnErrorGoToErrHandler

'设置标志

CommonDialog1.Flags=cdlOFNHideReadOnly

'设置过滤器

CommonDialog1.Filter="JPEGFiles"&"(*.jpg)|*.jpg"

'指定缺省的过滤器

CommonDialog1.FilterIndex=2

'显示“打开”对话框

CommonDialog1.ShowSave

'显示选定文件的名字

'MsgBoxCommonDialog1.fileName

SetPicture2.Picture=Picture1.Image'转移Picture1所绘图为Picture2.Picture赋值

DimretAsBoolean

ret=PictureBoxSaveJPG(Picture2,CommonDialog1.fileName)'保存压缩后的图片

Ifret=FalseThen

MsgBox"保存失败"

EndIf

ExitSub

ErrHandler:

'用户按了“取消”按钮

ExitSub

EndSub

word2010如何选中水印

水印是选不了的,2003版也选不了,“页面布局”-“水印”-“删除水印”

这个步骤做了,木有用TAT

如何去掉word 中的水印

可以通过依次点击格式菜单,背景项下水印,打开水印对话框,选择无水印,点击确定即可将水印去掉。

Word加入的文字水印(斜体)如何调整文字角度???

07的版本直接双击页脚,出现页眉页脚,然后你再去点水印,出现选中的样式,旋转即可

WORD文档的水印打印不出来是什么原因?打印预览上有显示水印!

应该是打了,你看错了,太不清晰了吧

word文档里“样例”字样背景去不掉 工具,选项,打印,隐藏文字(已去掉) 格式---背景----水印(已去掉)

进入菜单中的"视图"-->页眉与页脚,看看是可以选中这个背景,再删除更多

视图"-->页眉与页脚 怎么看啊不会弄

Word中不是有个菜单叫“视图”吗,点“视图”,在里面再点“页眉与页脚”,Word就进入了页眉与页脚视图,这时你看看,是不是“样例”这样的图片可以选中

视图"-->页眉与页脚 点出来就是这样啊

这个工具栏不用管它,你再在文档中看看,“样例”的图片是否可操作

看不见,图片,急啊

你这文档在哪里下载的,我下来看看。

如何让图片布满整个word页面

让图片布满整个word页面的具体操作步骤如下:

我们需要准备的材料有:电脑、Word文档。

1、首先我们打开Word文档,点击插入中的“照片”按钮。

2、之后我们在该页面中点击选择想要插入的图片,之后点击插入。

3、然后我们在该页面中点击图片,拉动图片四个边上的调解按钮,拖动铺满整页即可。

window7与xp中word添加水印有区别吗

如果WORD版本一样,操作方法就一样,与WINDOWS系统无关,只与WORD版本有关。

转载请注明出处51数据库 » vbword水印 VB给图片添加文字水印

软件
前端设计
程序设计
Java相关