Отображение изображения с помощью GUI MATLAB в определенном регионе - PullRequest
0 голосов
/ 28 мая 2010

Я ищу, как я могу отобразить изображение в моем GUI в определенной области моего интерфейса.

Ответы [ 3 ]

3 голосов
/ 28 мая 2010

В GUIDE вы можете рисовать оси в GUI. Затем в функции обратного вызова вы можете построить изображение по осям.

Лично я бы предпочел не иметь изображение внутри графического интерфейса, потому что это затрудняет правильное изменение размера всего, и если вы хотите более внимательно посмотреть на изображение или захватить его, чтобы вставить в другое приложение, имея рисунок как часть графического интерфейса может быть неудобным. Поэтому я предпочитаю, чтобы изображение открывалось в отдельном окне рисунка.

0 голосов
/ 12 июля 2013

Самый прямой и простой способ сделать это - использовать компонент Axis, как показано в этом уроке:

http://www.aboutcodes.com/2012/06/how-to-display-image-in-gui-using.html

0 голосов
/ 23 ноября 2010

Попробуйте следующий код:

function movingimage
    %# Plotting a figure
    fig1=figure('Name','Plotting an image',...
        'Unit','normalized', 'Position',[.1 .1 .8 .8]);
    uicontrol(fig1,'Style','text','Unit','Normalized',...
        'Position',[.9 .85 .1 .07],'String','Press the button below to move the image location.');
    uicontrol(fig1,'Style','pushbutton','Unit','Normalized',...
        'Position',[.9 .8 .05 .05],'String','Move','Callback',{@action_Callback});

    %# Say, you wish to plot an image of relative dimension (.3 x .3) to the figure.
    xdim=.3; ydim=.3;
    %# Image's movable range in x is (1 - xdim)
    dx=1-xdim;
    %# Image's Movable range in y is (1 - ydim)
    dy=1-ydim;
    %# considering the size of the image...
    pos = [.5*dx .5*dy xdim ydim];  %# Initial location of the image is at the center of the figure.
    ax1 = axes('position',pos);
    img = load('mandrill');
    image(img.X)
    colormap(img.map);axis off;axis equal;

    function action_Callback(hObj,eventdata)
        pos=[rand(1)*dx rand(1)*dy xdim ydim];
        set(ax1,'position',pos);
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...