2013-08-21 6 views
0

У меня возникли проблемы с тем, как найти центр изображения и записать его на другое изображение. Ситуация заключается в том, что у меня есть изображение (например, 800X500), и мне нужно точно обрезать его (50X50 или 70X70) с помощью img.getSubimage (x, y, w, h).Как найти центр изображения?

Размеры для каждого изображения будут разными.

Как я мог рассчитать X и Y, чтобы получить 50I50 subImage из центра изображения?

Заранее спасибо.

img.getSubimage (x, y, w, h) - X и Y не являются координатами центра. * @param х координаты Х верхнего левого угла * указанный прямоугольная область * @param у Y-координата верхнего левого угла * указано прямоугольная область

+5

По используя основную математику? Разделите на 2. –

+1

Вы пытались решить его на бумаге в первую очередь? Какие координаты вы использовали бы на примерах, которые вы дали в своем вопросе? – Pshemo

+0

См. Также эти связанные миниатюры [примеры] (http://stackoverflow.com/q/15961412/230513). – trashgod

ответ

4
int bigwidth = 800; 
int bigheight = 500; 
int cropwidth = 70; 
int cropheight = 70; 
img.getSubimage((bigwidth - cropwidth)/2, (bigheight - cropheight)/2, cropwidth, cropheight); 
Смежные вопросы