十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用GDI
成都创新互联公司主营加格达奇网站建设的网络公司,主营网站建设方案,成都App定制开发,加格达奇h5微信小程序开发搭建,加格达奇网站营销推广欢迎加格达奇等地区企业咨询
先建一个6400*4800的Image 类的位图图像 作为GDI画板
然后用Drawimage方法,加载小图像,并按坐标位置画进去
然后保存成文件
我有一个相似功能的VB.net代码,可以给你参考
这问题有点笼统,软糖来说说把:
图像处理由System.Drawing命名空间负责。
主要是Bitmap类和Graphics类。
Bitmap表示一个位图,可以是BMP,JPG,PNG等文件。
装载位图
Dim 位图 As Bitmap = Bitmap.FromFile("C:\Image1.PNG")
Graphics表示一张画纸,能够进行绘制操作。
它可以被窗体、控件、位图调用CreateGraphics()方法来创建。
然后调用Graphics.Draw开头的一系列函数来绘制图像和图形,Fill开头的填充图形。
创建画纸并绘制位图
Dim 画纸 As Graphics = Me.CreateGraphics()
画纸.DrawImage(位图, 100, 100, 256, 256)
可以将上面三行放到Form1_Load中测试,把路径改一下,
还可以把Me改为能在上面绘图的控件的名称。
更多内容请看MSDN的System.Drawing命名空间。
如满意,请采纳,谢谢。
很简单的方法,貌似没有。这个需要自己写很多代码:
用一个ListView控件。
判断滚动条当前所显示的图片集合,获取它们的物理路径。
用Bitmap.FromImage方法把这些图片读出来,
然后获取缩略图,
把缩略图用Graphics.DrawImage()绘制出来。
我可以提供Bitmap如何获取缩略图的方法:
''' summary必须创建一个委托并将对此委托的引用作为获取缩略图 callback 参数传递,但不使用此委托。/summary
Public Function ThumbnailCallback() As Boolean
Return False
End Function
''' summary返回Image,表示图像指定 宽 和 高 的缩略图。/summary
Public Function 获取缩略图(位图 As Bitmap, 宽 As Integer, 高 As Integer) As Image
Dim myCallback As New Image.GetThumbnailImageAbort(ThumbnailCallback)
Return 位图.GetThumbnailImage(宽, 高, myCallback, IntPtr.Zero)
End Function
这样了:
CType(Me.Controls("PictureBox11"), PictureBox).Image = My.Resources.image1
Find 返回数组,元素类型为Object。
Item() 可以把控件名作关键字,但也返回Object。这个方法是默认的,可以省略。
CType 转换引用类型。
大概如此,我是2008,没vb6那般的控件数组。
可以直接显示的。你看下面的示例,使用vb.net画的齿轮:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
b = New Bitmap(PictureBox1.Width, PictureBox1.Height)
g = Graphics.FromImage(b)
'g.RotateTransform(90)
g.Clear(Color.White)
g.TranslateTransform(PictureBox1.Width / 2, PictureBox1.Height / 2)
g.ScaleTransform(1, -1)
'g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
DrawCL(g, New PointF(Val(TextBox1.Text), Val(TextBox2.Text)), Val(TextBox3.Text), Val(TextBox4.Text), Val(TextBox5.Text), Val(TextBox6.Text), Val(TextBox7.Text), Val(TextBox8.Text), Val(TextBox9.Text))
DrawCL(g, New PointF(Val(TextBox18.Text), Val(TextBox17.Text)), Val(TextBox16.Text), Val(TextBox15.Text), Val(TextBox14.Text), Val(TextBox13.Text), Val(TextBox12.Text), Val(TextBox11.Text), Val(TextBox10.Text))
PictureBox1.Image = b
End Sub
这个简单啊,用picturebox控件的PaintPicture方法就可以实现两张图片的叠加,用不着API。