Android - растянуть изображение частично - PullRequest
1 голос
/ 10 октября 2011

Есть ли способ частично растянуть изображение в андроиде? Как то так

enter image description here

Здесь изображение растягивается в средней части 1/3, но левые и правые окончания остаются "как есть".

Ответы [ 3 ]

3 голосов
/ 10 октября 2011

То, что вы делаете, на самом деле встроено в Android. Преврати это изображение в 9-патч.

http://developer.android.com/guide/developing/tools/draw9patch.html

1 голос
/ 10 октября 2011

Вы можете подготовить свое изображение как NinePatch, используя Нарисуйте 9-патч , а затем загрузите его Класс NinePatch

0 голосов
/ 10 октября 2011

Это можно сделать и в коде:

int w = myImage.getWidth();
int h =  myImage.getHeight();
int thirdWidht = w / 3;

//create a new blank image
Bitmap stretchImage = Bitmap.createBitmap(w + thirdWidth, h, Bitmap.Config.ARGB_8888 );

Canvas c = new Canvas(stretchImage);

//draw left bit
c.drawBitmap(normalImage, new Rect(0,0,thirdWidht,h), new Rect(0,0,thirdWidht,h), true);

//draw stretched middle bit
c.drawBitmap(normalImage, new Rect(thirdWidht,0,thirdWidht * 2, h), new Rect(thirdWidht,0,thirdWidht * 3,h), true);

//draw right bit
c.drawBitmap(normalImage, new Rect(thirdWidht * 2,0,w,h), new Rect(thirdWidht * 3,0,w + thirdWidht,h), true);

myImageView.setImageBitmap(stretchImage);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...