Как скопировать график матлаба в ворд без белого фона

Форум, посвященный общим вопросам, связанным с MATLAB

Модераторы: Krasnopeev, Komarov, sladmin

Как скопировать график матлаба в ворд без белого фона

Сообщение Lirika » Чт мар 14, 2013 11:27 am

Если этот вопрос уже поднимался, заранее извиняюсь, но пока не нашла.

Как можно при копировании рисунка в word:
Edit -> Copy figure

сделать так, чтобы вставлялся только сам рисунок с минимально возможным по размеру фоном(чтобы матлаб сам обрезал весь белый фон по краям рисунка, где нет надписей и графиков - обычно это около 1-2 см белого фона от конца легенды, подписи осей, названия графика).

Нужно мне это для того: чтобы при копировании достаточно "мелких" графиков, увеличивая их размеры в word для лучшего восприятия - этот белый фон не забирал лишние см (пока приходится обрезать их вручную, что крайне не удобно, когда количество графиков - 30... и более)

Пока нашла только
Edit -> Copy Options ->...
но там вроде нет такой опции.

Буду рада любой помощи в этом вопросе (если автоматически это сделать нельзя, хотя бы буду знать это)
Заранее спасибо за помощь
Lirika
Пользователь
 
Сообщений: 40
Зарегистрирован: Пн окт 25, 2010 6:24 pm

Сообщение kronos13 » Чт мар 14, 2013 11:36 am

Вручную более легко это делается в Paint.Net. Задав один раз размеры области потом можно вставлять скриншоты окна/экрана и наводиться на требуемую область. Есть portable версия, если отсутствуют права администратора на ПК.
kronos13
Пользователь
 
Сообщений: 38
Зарегистрирован: Ср ноя 10, 2010 9:01 am

Сообщение sandy » Чт мар 14, 2013 8:54 pm

При необходимости я всегда обрезал их уже в Word'е.
С уважением

Александр Сергиенко
sandy
Эксперт
 
Сообщений: 4447
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Как скопировать график матлаба в ворд без белого фона

Сообщение Dinoelik » Чт мар 21, 2013 10:43 pm

Lirika писал(а):...

Как можно при копировании рисунка в word:

сделать так, чтобы вставлялся только сам рисунок с минимально возможным по размеру фоном...


Делюсь своей програмкой, которая делает как раз то, что вам нужно.

В аргументе имя файла, в который скопируется рисунок с расширением png
Код: выделить все
function F = getframe_white(name)
% делаю фон белым
set(gcf,'Color',[1 1 1]);drawnow;
% копирую образ
[X,map] = frame2im(getframe(gcf));
% обрезаю все белое
no_w = (sum(X,3)<255*3);
onx = sum(no_w,2);fx = find(onx);x1 = min(fx);x2=max(fx);
ony = sum(no_w,1);fy = find(ony);y1 = min(fy);y2=max(fy);
Y = X(x1:x2,y1:y2,:);
name = [name,'.png'];
imwrite(Y,name,'png');
Dinoelik
Пользователь
 
Сообщений: 9
Зарегистрирован: Чт мар 21, 2013 6:12 pm


Вернуться в Общие вопросы по MATLAB/Программирование в MATLAB

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot], Yahoo [Bot] и гости: 2