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。
OptionExplicitPublicTypeGUID
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给图片添加文字水印
MISS佳



