跨多个图片框跨越单个图像(Visual Basic)

时间:2017-02-02 17:23:20

标签: vba

我没有任何代码,因为我真的不知道从哪里开始这样的事情。我使用的是Visual Basic。我有两个图片框,当屏幕在3DS上时,它们按比例分开。我想要的是能够打开一个图像文件,让这个图像跨越两个图片框。就像屏幕连接的Nintendo 3DS一样。我这样做的原因是我可以将图像裁剪成两个完美的屏幕"它将完美地垂直拼接在一起。我正在制作3DS主题裁剪器。对不起,我已经没有任何代码了。我无法想到开始实现这一目标的第一件事。如果我的问题不够好,我也很抱歉。我不确定这个网站在寻找什么。语法?正确的措辞?我不知道。

这是我的意思的粗略图表:https://www.dropbox.com/home?preview=samplepix.png

2 个答案:

答案 0 :(得分:1)

玩这样的东西,但不是没有代码的问题。

Sub threeds()

     Dim p As Picture

    Set p = ActiveSheet.Pictures(1)
    p.ShapeRange.PictureFormat.Crop.PictureOffsetX = p.Width / 2     
    Set p = ActiveSheet.Pictures(2)
    p.ShapeRange.PictureFormat.Crop.PictureOffsetX = -(p.Width / 2)          

End Sub

答案 1 :(得分:0)

我发现了一些似乎有用的代码。

Private Function CropBitmap(ByRef bmp As Bitmap, ByVal cropX As Integer, ByVal cropY As Integer, ByVal cropWidth As Integer, ByVal cropHeight As Integer) As Bitmap 
    Dim rect As New Rectangle(cropX, cropY, cropWidth, cropHeight) 
    Dim cropped As Bitmap = bmp.Clone(rect, bmp.PixelFormat) 
    Return cropped 
End Function  
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim FN = "full path of the image file"
    Dim bmp As Bitmap bmp = Bitmap.FromFile(FN) 
    PictureBox1.Image = CropBitmap(bmp, 4, 4, 13, 16) 
End Sub