Изменение прозрачности изображений, закрашенных фигур или поверхностей

В этом примере показано, как изменить прозрачность изображений, закрашенных фигур и поверхностей.

Прозрачность для всех объектов в осях

Значения прозрачности упоминаются как альфа-значения. Используйте alpha функционируйте, чтобы установить прозрачность для всего изображения, закрашенной фигуры и объектов подложки в текущей системе координат. Задайте значение прозрачности между 0 (полностью прозрачный) и 1 (полностью непрозрачный).

t = 0:0.1:2*pi;
x = sin(t);
y = cos(t);

figure
patch(x,y,'r')
patch(x+0.8,y,'g')
patch(x+0.4,y+0.8,'b')
axis square tight 
alpha(0.3)

Figure contains an axes object. The axes object contains 3 objects of type patch.

Прозрачность для отдельных поверхностей

Прозрачность поверхности задана ее AlphaData свойство. Установите альфа-данные или как скалярное значение или как матрицу значений, задающих прозрачность каждой вершины поверхности. FaceAlpha свойство указывает, как прозрачность поверхностных поверхностей определяется из прозрачности вершины.

[X,Y,Z] = peaks(20);
s2 = surf(X,Y,Z);

s2.AlphaData = gradient(Z);    
s2.FaceAlpha = 'flat';

Figure contains an axes object. The axes object contains an object of type surface.

Прозрачность для отдельных изображений

Как поверхности, прозрачность изображения также задана его AlphaData свойство. Для изображений, набор альфа-данные или как скалярное значение или как матрица значений, задающих прозрачность каждого элемента в данных изображения.

Например, используйте прозрачность, чтобы наложить два изображения. Во-первых, отобразите изображение Земли.

earth = imread('landOcean.jpg');
image(earth)    
axis image

Figure contains an axes object. The axes object contains an object of type image.

Затем добавьте слой облака в изображение Земли с помощью прозрачности.

clouds = imread('cloudCombined.jpg');
image(earth)
axis image
hold on

im = image(clouds);
im.AlphaData = max(clouds,[],3);    
hold off

Figure contains an axes object. The axes object contains 2 objects of type image.

Прозрачность для отдельных закрашенных фигур

Прозрачность закрашенной фигуры задана ее FaceAlpha и FaceVertexAlphaData свойства. Для постоянной прозрачности через целую закрашенную фигуру, набор FaceVertexAlphaData к константе между 0 (полностью прозрачный) и 1 (полностью непрозрачный), и набор FaceAlpha свойство к 'flat'.

cla
p1 = patch(x,y,'r');
axis square tight
p1.FaceVertexAlphaData = 0.2;
p1.FaceAlpha = 'flat' ; 

Figure contains an axes object. The axes object contains an object of type patch.

Для прозрачности, которая варьируется через закрашенную фигуру, устанавливает FaceVertexAlphaData к матрице значений, задающих прозрачность в каждой вершине или каждой поверхности закрашенной фигуры. FaceAlpha свойство затем указывает, как диапозитивы поверхности определяются с помощью FaceVertexAlphaData. Если альфа-данные заданы для вершин, FaceAlpha должен быть установлен в 'interp'.

p1.FaceVertexAlphaData = x';
p1.FaceAlpha = 'interp';

Figure contains an axes object. The axes object contains an object of type patch.

Прозрачность с отображением текстур

Отображение текстур сопоставляет 2D изображение на 3-D поверхность. Изображение может быть сопоставлено с поверхностью путем установки CData свойство к данным изображения и установке FaceColor свойство быть 'texturemap'.

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

[px,py,pz] = sphere(50);

sEarth = surface(py, px ,flip(pz));
sEarth.FaceColor = 'texturemap';
sEarth.EdgeColor = 'none';
sEarth.CData = earth;
hold on
sCloud = surface(px*1.02,py*1.02,flip(pz)*1.02); 

sCloud.FaceColor = 'texturemap'; 
sCloud.EdgeColor = 'none';
sCloud.CData = clouds;

sCloud.FaceAlpha = 'texturemap';
sCloud.AlphaData = max(clouds,[],3);
hold off
view([80 2]) 
daspect([1 1 1])
axis off tight

Изображения, используемые в этом примере, от Видимой Земли.

Кредит: НАСА Изображение Центра космических полетов имени Годдарда Reto Stöckli (поверхность земли, мелководье, облака). Улучшения Робертом Симмоном (океанский цвет, составление композита, 3D земные шары, анимация). Информационная поддержка и техническая поддержка: MODIS Land Group; Научная Команда Информационной поддержки MODIS; MODIS Atmosphere Group; MODIS Ocean Group Дополнительные данные: Дата-центр EROS USGS (топография); USGS Наземный Полевой Центр Флагштока Дистанционного зондирования (Антарктида); Защита Метеорологическая Спутниковая Программа (городские световые сигналы).

Смотрите также

| |

Для просмотра документации необходимо авторизоваться на сайте