当前位置:编程学习 > VB >>

要做一些画像的简单处理.有些问题想请教一下

1.请问PICTUREBOX和IMAGEBOX有什么区别?
2.想在图片上加字的话,怎么加?怎么指定 加的字的大小和字体?
3.怎么尽可能保存图片精度,然后打印?存成JPG的话好像会有精度掉失的问题.还有怎么控制打印的位置.例如我要在纸的正中间 打印一个100X 100的图.
也有可能图比较大,几千乘几千的分辨率.

4.例如我有个100 X 100的JPG, 现在想整张图向右移动 100个点.这样就变成 200X100的大小,然后左边的一半就是空白的了.对吧. 再在图边的最左边画一条黑线.应该怎么操作?
见图:

⒈ ImageBox 是一种比较简单的控件,它主要用来显示图像用。支持的“操作”很少。
  PictureBox 基本上涵盖了Imagebox的全部功能,还能作为其它控件的容器、支持很多的绘图方
法(自己写上代码,想怎么画就怎么画,想画些什么就画些什么……)。

⒉ 加文字,用 PictureBox.print "文字内容" 的方式,把文字输出到它上面。
  要指定字体,用 PictureBox.FontName = "字体名称" 来设定。
  要注意这儿指定的字体名称,必须要“本机”注册表中已经有的字体、并且对应的字库文件存在。否则它
将使用系统默认字体来输出。
  改变字体大小,用 PictureBox.FontSize = NN 来指定。注意它的单位是“点”,不是“象素”也不是“缇”。

⒊ VB6.0 自身只支持保存 BMP格式的图片。你用扩展名为.jpg,它也是BMP格式。这个不存在“精度损失”的问题。
  如果想输出.jpg格式的图片,需要自己添加相应的处理代码。 jpg是一种有损压缩的图片格式,画质肯定有一定的
损失。具体输出“质量”如何,那就看你的代码中如何处理的了。
  打印方面的问题,我不清楚,没有实际应用过,并且这个还蛮麻烦的。

⒋ 参考这个代码:
' 窗口上画两个 PictureBox
' Picture1 用来装载原图。在属性窗口中把 AutoSize设置为 True ,Picture属性指定原图。
' Picture2 用来输出图像。
Option Explicit


Private Sub Command1_Click()
' 假设所有度量单位都是VB6的默认单位。
   Dim w As Single
   ' 计算Picture2 输出200×100的图片,需要的大小
   w = Picture2.Width - Picture2.ScaleWidth
   ' 默认 PictureBox 格式是 3D+边框,这儿 w 应该为60
   Picture2.Width = 3000 + w
   Picture2.Height = 1500 + w
   Picture2.AutoRedraw = True
   Picture2.Cls
   ' 把 Picture1 的图片画到 Picture2 右边。注意坐标是从0开始的
   Picture2.PaintPicture Picture1.Picture, 1500, 0
   ' 左边画竖线,假设为4象素宽,颜色为黑色:
   Picture2.Line (0, 0)-(60, 1500), 0&, BF
   ' 保存文件(注意:这儿要保存的是 Image属性,不是 Picture属性!)
   Call SavePicture(Picture2.Image, "X:\temp\2.bmp")
End Sub
楼主要的 “空白区”是白色的,要在 Picture2.Cls 那儿加一句:
 Picture2.BackColor = vbWhite

注意这句一定要加在对 Picture2 开始绘图之前。要不然它前面的都是白画了。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,