在搜索了很多之后,我发布了这个帖子作为最后的希望。
我将两个图像放在另一个上方,并在其上方放置一个搜索栏,我希望以这样一种方式裁剪上层图像,以使下层图像单独获得裁剪空间的可见性。进度是通过 seekbar thumb 管理的。
这就是我的看法。
当我移动搜索栏时,图像被右侧裁剪,但我希望图像被左侧裁剪。
my class file
skbr = (SeekBar)findViewById(R.id.seekbar);
skbr.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
@Override
public void onStopTrackingTouch(SeekBar arg0)
{
Bitmap img = getcroppedimg(arg0.getProgress());
img2.setImageBitmap(img);
img2.getLayoutParams().width = img.getWidth();
}
@Override
public void onStartTrackingTouch(SeekBar arg0)
{
Bitmap img = getcroppedimg(arg0.getProgress());
img2.setImageBitmap(img);
img2.getLayoutParams().width = img.getWidth();
}
@Override
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2)
{
Bitmap img = getcroppedimg(arg0.getProgress());
img2.setImageBitmap(img);
img2.getLayoutParams().width = img.getWidth();
}
});
public Bitmap getcroppedimg(double y)
{
Log.e(" progress ", ""+y);
int x = (int)Math.round(( y / 100)*600);
Bitmap originalImg1 = BitmapFactory.decodeResource(getResources(), R.drawable.neutral_left_without);
Bitmap originalImg = BitmapFactory.decodeResource(getResources(), R.drawable.neutral_left_without);
Bitmap cropimg ;
if((originalImg.getWidth()-x)>0)
cropimg = Bitmap.createBitmap(originalImg, 0, 0, originalImg.getWidth()-x, originalImg.getHeight());
else if((originalImg.getWidth()+x)<= originalImg1.getWidth())
cropimg = Bitmap.createBitmap(originalImg, 0, 0, originalImg.getWidth()+x, originalImg.getHeight());
else
cropimg = Bitmap.createBitmap(originalImg, 0, 0, originalImg.getWidth(), originalImg.getHeight());
return cropimg ;
}
请让我知道我哪里出错了,或者有什么替代方法。欢迎任何相关答案。