Smallbasic 如何显示一行大小不同且不重叠的图像?

Smallbasic 如何显示一行大小不同且不重叠的图像?,smallbasic,Smallbasic,我想要一个小的基本程序,可以显示多个图像在一行没有重叠。但由于并非所有图像文件都相同,因此很难做到这一点 dir = Program.Directory imagedir = dir + "\images\" GraphicsWindow.BrushColor = "White" For i = 1 To 27 i_name= File.ReadLine(imagedir+"\imagedata.txt",b) 'imagedata contains the names of all the

我想要一个小的基本程序,可以显示多个图像在一行没有重叠。但由于并非所有图像文件都相同,因此很难做到这一点

dir = Program.Directory
imagedir = dir + "\images\"
GraphicsWindow.BrushColor = "White"
For i = 1 To 27
  i_name= File.ReadLine(imagedir+"\imagedata.txt",b) 'imagedata contains the names of all the images in the directory so I don't have to list all the names in the program.
  image[i] = ImageList.LoadImage(imagedir+i_name+".png")
  imagewidth[i] = ImageList.GetWidthOfImage(image[i])
  GraphicsWindow.DrawImage(block[i],(i-1)*imagewidth[i-1],0) 'This is where the trouble lies.
EndFor

我认为需要另一个变量来存储x坐标。每次绘制图像时,应将变量的宽度加上边距。然后,当您绘制下一幅图像时,请在变量指示的位置绘制它。

您能将整个程序放入吗?这会有帮助的。如果你需要把它放在不同的行上,你也需要高度。我想如果我能从水平方向的重叠中得到图像,那么垂直方向的重叠也同样适用。这只是一个测试程序,所以这就是它的全部内容。如果这些图像都是相同的尺寸,我不会寻求帮助,但是对于不同的图像尺寸,我有点需要它。好的,但你需要的是如果它重叠,并在(I-1)*imagewidth[I-1]中调整一点。是的。我正在测量上一张图像的宽度,并试图根据这个宽度调整下一张图像的位置。对,所以只需添加一个手动调整器即可。