怎么在手机上给手机里面的图片制作水印啊……

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在手机上给手机里面的图片制作水印啊……相关的知识,希望对你有一定的参考价值。

满意答案热心问友2012-03-21需要工具:<我的电脑<剪图工具<图片编辑<水印截图<MBM编辑器(需py平台支持)操作步骤:①首先你要有自己的印章,可以去<印章手工坊(网址太长了自己搜吧)做自己喜欢的印章,做好后点预览,直接保存图片,不要点下载!下载是要收费滴!②制作一张白纸,你可以找一个运行时有白屏的软件,出现白屏时把它截下来(安装水印截图后打开在设置里把水印关掉,用它截图)③打开图片编辑,打开那张白纸,然后选插入图片,把你的印章插入找好位置按确认保存!④打开剪图工具,选择你刚保存的图片,打开后选项颜色底片这时你会看到整个图片都变黑了,印章应该是亮蓝色的,好了用截图截下就行了不用保存⑤用我的电脑进入E:
okia\screenshot\把里面的watermark.mbm复制到E:\python\mbmtool\mbm\这个文件夹里(如果没有这个文件夹打开MBM编辑运行一下就有了),再把你刚截下的那张底片改名为1.png⑥打开MBM编辑按右,你会看到watermark.mbm在里面了,选择解包,完成后退出⑦再用我的电脑进入E:\python\mbmtool\img\文件夹里,你会看到有0.png和1.png,这就是刚解包出来的文件,打开看看吧0.png是一张红色图片,1.png就是作者的印章,现在你知道该怎么做了吧?对!就用你先前截的那个1.png替换这里的1.png⑧打开MBM编辑选择16bit\8bit把这两个打包合成,合成后退出⑨再进入E:\python\mbmtool\mbm\把刚才打包出来的images.mbm改名为watermark.mbm替换E:
okia\screenshot\里面的watermark.mbm好了大功告成!⑩打开水印截图,再设置开启水印!截一张图你会看到你的印章快速闪动一下,这说明成功加盖印章了!打开你的截图看看吧!
参考技术A 有些手机的照相机有自带这种功能
如果没有自带就直接在手机上下载安装个图片修改器
比如 美图秀秀 就可以了
百度搜索 美图秀秀 手机下载 就有了

VB 给图片添加文字水印

要求:
1. 最好是模块,直接调用,比如: AddTxtToPicAndSave(Picture as PictureBox,strText as string, x as long,y as long,SFile as string,SaveType as integer),其中 Picture为图片框控件名称,strText为待添加上去的文字,xy分别为待添加上去的文字在图片中的左上角坐标, SFile 为保存为的新图像文件名,SaveType 为保存的图像类型,比如jgp或bmp等。
2. 不需要透明度
3. 文字的字体、颜色、字号、字形等通过其他控件来指定和调节
4. 保存为jpg格式的,所得的新图片中,添加上去的文字是清晰的,不能模糊;直接保存为bmp格式当然是清晰的,但文件大小太大。

真心讨教!满足要求功能要求的话,采纳后再嘉奖。
采用 Picture.Print strText 将文字打印到图片上,然后另存为非bmp格式后,文字就变模糊了,肯定不是这种这么简单的方法的。
就像Photoshop这样,在背景图上添加文字图层,然后拼合图层之后,再另存为jpg格式的图像,所得的jpg格式图像文件的大小是最小的,并且添加上去的文字并不因为保存为jpg格式就变模糊仍然是非常清晰的,就想到达这种效果,不知道用什么方法或者控件能实现这种效果。反正目前能尝试的方法都达不到这种效果,采用GDI方式另存为jpg格式,文字就会变模糊,另存为其他方式,文字可能不变模糊,但所得文件大小增大几十倍,不可取。 哪位大侠能赐教可行的呀!
有一个朋友调试出来了一种方法,几乎能跟ps的媲美了!期待中...

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

具体步骤:

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

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

Private Sub CmdEdit_Click() \'修改
    Dim strTxt As String
    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.Print strTxt
End Sub

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

Option Explicit
    Public Type GUID
        Data1 As Long
        Data2 As Integer
        Data3 As Integer
        Data4(0 To 7) As Byte
    End Type
    Public Type GdiplusStartupInput
        GdiplusVersion As Long
        DebugEventCallback As Long
        SuppressBackgroundThread As Long
        SuppressExternalCodecs As Long
    End Type
    Public Type EncoderParameter
        GUID As GUID
        NumberOfValues As Long
        type As Long
        Value As Long
    End Type
    Public Type EncoderParameters
        Count As Long
        Parameter As EncoderParameter
    End Type
    Public Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, inputbuf As GdiplusStartupInput, ByVal outputbuf As Long) As Long
    Public Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long
    Public Declare Function GdipCreateBitmapFromHBITMAP Lib "GDIPlus" (ByVal hbm As Long, ByVal hpal As Long, Bitmap As Long) As Long
    Public Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal Image As Long) As Long
    Public Declare Function GdipSaveImageToFile Lib "GDIPlus" (ByVal Image As Long, ByVal fileName As Long, clsidEncoder As GUID, encoderParams As Any) As Long
    Public Declare Function CLSIDFromString Lib "ole32" (ByVal str As Long, id As GUID) As Long
    Public Declare Function GdipCreateBitmapFromFile Lib "GDIPlus" (ByVal fileName As Long, Bitmap As Long) As Long

Public Function PictureBoxSaveJPG(ByVal pict As StdPicture, ByVal fileName As String, Optional ByVal quality As Byte = 80) As Boolean
    Dim tSI As GdiplusStartupInput
    Dim lRes As Long
    Dim lGDIP As Long
    Dim lBitmap As Long
    \'初始化 GDI+
    tSI.GdiplusVersion = 1
    lRes = GdiplusStartup(lGDIP, tSI, 0)
    If lRes = 0 Then
        \'从句柄创建 GDI+ 图像
        lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap)
        
        If lRes = 0 Then
            Dim tJpgEncoder As GUID
            Dim tParams As EncoderParameters
            
            \'初始化解码器的GUID标识
            CLSIDFromString StrPtr("557CF401-1A04-11D3-9A73-0000F81EF32E"), tJpgEncoder
            
            \'设置解码器参数
            tParams.Count = 1
            With tParams.Parameter \' Quality
                \'得到Quality参数的GUID标识
                CLSIDFromString StrPtr("1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB"), .GUID
                .NumberOfValues = 1
                .type = 4
                .Value = VarPtr(quality)
            End With
            
            \'保存图像
            lRes = GdipSaveImageToFile(lBitmap, StrPtr(fileName), tJpgEncoder, tParams)
            
            \'销毁GDI+图像
            GdipDisposeImage lBitmap
        End If
        
        \'销毁 GDI+
        GdiplusShutdown lGDIP
    End If
    
    If lRes Then
        PictureBoxSaveJPG = False
    Else
        PictureBoxSaveJPG = True
    End If
End Function

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

Private Sub Command3_Click() \'保存为.jpg图片
    \' 设置“CancelError”为 True
    CommonDialog1.CancelError = True
    On Error GoTo ErrHandler
    \' 设置标志
    CommonDialog1.Flags = cdlOFNHideReadOnly
    \' 设置过滤器
    CommonDialog1.Filter = "JPEG Files" & "(*.jpg)|*.jpg"
    \' 指定缺省的过滤器
    CommonDialog1.FilterIndex = 2
    \' 显示“打开”对话框
    CommonDialog1.ShowSave
    \' 显示选定文件的名字
    \'MsgBox CommonDialog1.fileName
    Set Picture2.Picture = Picture1.Image \'转移Picture1所绘图为Picture2.Picture赋值
    Dim ret As Boolean
    ret = PictureBoxSaveJPG(Picture2, CommonDialog1.fileName) \'保存压缩后的图片
    If ret = False Then
        MsgBox "保存失败"
    End If
    Exit Sub
ErrHandler:
    \' 用户按了“取消”按钮
    Exit Sub
End Sub

参考技术A jpg属于有损压缩图像格式,是以牺牲图像质量来获得高压缩率的。一般来说,不管是用什么方法把图像保存为jpg格式,都会有选项让你选择jpg的图像质量的,你说PhotoShop保存的jpg图像其文字仍然清晰,是因为PhotoShop默认采用的jpg图像质量是较高的(貌似是80%),如果把这个参数调低,效果也一样是惨不忍睹的。jpg属于一种业界标准,在条件相同的情况下(比如同一张图片、同样的压缩参数),不管用什么方式做出来的效果都是一样的,不会说PhotoShop效果好而其他软件就不好。所以你应该在保存jpg的时候调整好参数,找到图像质量与图像容量之间的平衡点,“又想马儿跑得快,又想马儿少吃草”的好事是不存在的。追问

我当然知道jpg压缩会损害图像质量呀。问题是即使图像质量受到损害,能达到ps这样的效果,肉眼看不到模糊就可以了。但现在尝试了好几种方法都可以看到文字明显地变模糊了,不晓得ps是如何实现的,它的肉眼看不到文字变模糊呀。

追答

PS中加入文字有两种模式,一种是带锯齿的,一种是圆滑的,后者虽然看起来比较美观,但是当图像质量下降时,文字边沿也会变得模糊;而前者虽然看起来粗糙,但在低分辨率状态下字体的边沿仍然较清晰。事实上,在显示比较小的字体时,用圆滑字体反而会很模糊的。而一般的软件(特别是程序开发语言中的图像转换控件之类的东东)是自动按平滑字体方式来显示的,所以会觉得模糊。可以用API函数关闭平滑字体方式,不过我也没用过,具体的没法帮你了。

参考技术B 其实不用这么麻烦。用一些简单的。例如用PS,把文字水印或者图案水印打上去,让后调整水印位置,最后把水印图层的透明度调低,让后保存为jpg格式,这样的效果比起正规水印操作差不了多少 参考技术C Private Sub Command1_Click()
AddTxtToPicAndSave Picture1, "文字水印", 100, 200, "c:\1.bmp", 0
End Sub

Private Sub AddTxtToPicAndSave(Picture As PictureBox, strText As String, x As Long, y As Long, SFile As String, SaveType As Integer)
With Picture
.AutoRedraw = True
.CurrentX = x
.CurrentY = y
.Font = "黑体"
.FontBold = True
.ForeColor = vbRed
.FontSize = 22
Picture.Print strText
Select Case SaveType
Case 0 'BMP
SavePicture .Image, SFile
Case 1
'需要第三方控件来保存为其它图像格式
End Select
End With
End Sub
参考技术D 我发一个之前我用过的在网上找到的代码,可以解决你的问题;
需要请发邮箱追问

15104946@qq.com
谢谢了,试试看。

以上是关于怎么在手机上给手机里面的图片制作水印啊……的主要内容,如果未能解决你的问题,请参考以下文章

手机上怎么制作图片的水印

在自己的照片上加水印 logo用啥软件?

在自己的照片上加水印 logo用啥软件?

fireworks制作文字水印

图片怎么加水印呢?

《VUE》怎么添加水印?添加水印方法图解