ฉันจะแปลงอิมเมจบิตแมปเป็น Drawable ได้อย่างไร
ฉันจะแปลงอิมเมจบิตแมปเป็น Drawable ได้อย่างไร
คำตอบ:
ดูเหมือนว่าคุณต้องการใช้ BitmapDrawable
จากเอกสาร:
A
Drawable
ที่ครอบคลุมบิตแมปและสามารถเรียงต่อกันยืดหรือจัดแนวได้ คุณสามารถสร้างBitmapDrawable
จากพา ธ ไฟล์สตรีมอินพุตผ่านการขยาย XML หรือจากBitmap
วัตถุ
ลองนี่มันจะแปลงBitmap
ภาพประเภทเป็นDrawable
Drawable d = new BitmapDrawable(getResources(), bitmap);
เมื่อพบปัญหาจำนวนมากที่มีการปรับบิตแมปอย่างไม่ถูกต้องเมื่อแปลงเป็น a BitmapDrawable
วิธีทั่วไปในการแปลงควรเป็น:
Drawable d = new BitmapDrawable(getResources(), bitmap);
หากไม่มีตัวResources reference
เลือกbitmap
อาจไม่สามารถแสดงผลได้อย่างถูกต้องแม้เมื่อปรับขนาดอย่างถูกต้อง มีคำถามมากมายที่นี่ซึ่งจะแก้ไขได้ง่าย ๆ โดยใช้วิธีนี้แทนการโทรหาโดยตรงโดยมีเพียงbitmap
อาร์กิวเมนต์
เอกสาร Bitmapdrawable ที่เป็นทางการ
นี่คือตัวอย่างเกี่ยวกับวิธีการแปลงบิตแมปเป็น drawable
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
ฉันใช้กับบริบท
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
หากคุณมีภาพบิตแมปและคุณต้องการที่จะใช้มันในรูปวาดได้เช่น
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
แค่ทำสิ่งนี้:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
1) บิตแมปถึง Drawable:
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
// mImageView.setDrawable(mDrawable);
2) drawable to Bitmap:
Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);
นี่คืออีกหนึ่ง:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
แผนที่บิตแอบแฝงเพื่อ drawable ในแอพ Sketchware โดยใช้รหัส
android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);