页面上有个image控件,显示一个JPG图片,JPG图片远远大于控件,控件上只能显示一部分图片,
当鼠标在图片上单击,怎么得到JPG图片实标坐标(象素坐标)如果image控件不能实现的话,有什么控件能实现?

解决方案 »

  1.   

    设置image的stretch 为true
    在mousedown事件里进行坐标换算
    如image的宽高为100*200,图片的宽高为 200*400;如果down时的x,y 为20,20
    则对应的原始图的像素点位置应该为
    nx := 20 * 200 / 100;
    ny := 20 * 400 / 200;
    有了坐标,最简单的方式就是再创建一个 tbitmap;
    然后 
    bmp.assign(image.picture.graphics);
    color := getpixel(bmp.canvas.handle,nx,ny);
      

  2.   

    自己想了个办法就是在  把image放到scrollbox中,不要用缩放,用鼠标得到的X,Y是实际的象素点坐标