programing

이미지 보기에 첨부된 비트맵 가져오기

i4 2023. 9. 8. 21:10
반응형

이미지 보기에 첨부된 비트맵 가져오기

정해진

ImageView image = R.findViewById(R.id.imageView);
image.setImageBitmap(someBitmap);

비트맵을 검색할 수 있습니까?

Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();

이거면 당신이.Bitmap로부터ImageView. 그러나 사용자가 설정한 비트맵 개체와 같은 비트맵 개체가 아닙니다.그것은 새것입니다.

imageView.buildDrawingCache();
Bitmap bitmap = imageView.getDrawingCache();

=== 편집 ===

 imageView.setDrawingCacheEnabled(true);
 imageView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
                   MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
 imageView.layout(0, 0, 
                  imageView.getMeasuredWidth(), imageView.getMeasuredHeight()); 
 imageView.buildDrawingCache(true);
 Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache());
 imageView.setDrawingCacheEnabled(false);

코드아래쓰기

ImageView yourImageView = (ImageView) findViewById(R.id.yourImageView);
Bitmap bitmap = ((BitmapDrawable)yourImageView.getDrawable()).getBitmap();

찾으시는 분들을 위해Kotlin얻을 수 있는 해결책Bitmap부터ImageView.

var bitmap = (image.drawable as BitmapDrawable).bitmap

이 코드가 더 낫습니다.

public static  byte[] getByteArrayFromImageView(ImageView imageView)
    {
        BitmapDrawable bitmapDrawable = ((BitmapDrawable) imageView.getDrawable());
        Bitmap bitmap;
        if(bitmapDrawable==null){
            imageView.buildDrawingCache();
            bitmap = imageView.getDrawingCache();
            imageView.buildDrawingCache(false);
        }else
        {
            bitmap = bitmapDrawable .getBitmap();
        }
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
        return stream.toByteArray();
    }

이미지의 비트맵을 가져오는 다른 방법은 다음과 같습니다.

Bitmap imagenAndroid = BitmapFactory.decodeResource(getResources(),R.drawable.jellybean_statue);
imageView.setImageBitmap(imagenAndroid);

다음 코드를 사용해 보십시오.

Bitmap bitmap;
bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();

언급URL : https://stackoverflow.com/questions/8306623/get-bitmap-attached-to-imageview

반응형