C#在一个300*300像素的PictureBox框中如何量测出一幅3678*2736像素的完整图像坐标
一个300*300像素的PictureBox框中放一幅3678*2736像素的图像,PictureBox框的最大坐标是300*300,而这幅图的最大坐标是3678*2736像素,如何在300*300像素的框中量测出这幅图像的全部坐标,其最大坐标为(3678,2736)。
[解决办法]
是要做类似地图漫游的功能么?
建议先对你要显示的大图切片,弄成一系列的瓦片。
切片程序可以自己写。是创建位图对象,绘图和保存等操作的循环。
这种情况下也不建议用滚动条,而是设计成用户鼠标拖动的操作。
可以在MouseDown记录个初始坐标,MouseMove判断是否鼠标已经按下,按下的话就是拖动。
记录当前坐标与初始坐标的差异,从逻辑上计算应该漫游的区域,刷新图片框,对于涉及的切片图形,在图片框的Paint事件中绘图。
这样,你就可以在一个图片框中快速地漫游一个超大的图片了。
这些个步骤涉及比较复杂的平面几何的计算,但并不难。
你可以把你的图片都切成500*500左右的。
[解决办法]