2017-04-14 127 views
3

我已在MatLab中使用imagesc來繪製聲場。我現在想要在圖像上的特定位置覆蓋半透明的填充矩形。理想情況下,我希望能夠做到以下幾點:在用imagesc創建的圖上覆蓋一個半透明的矩形?

imagesc(g,g,field); 
hold on 
plotRectangle([100,100,200,200], 'b', 0.5) 
hold off 

其中b是矩形的顏色0.5是透明度。這可以做到嗎?

回答

3

您可以使用rectangle以創建一個矩形對象,然後使用指定的RGBA顏色,包括透明度

rectangle('Position', [100 100 200 200], 'FaceColor', [0 0 1 0.5]) 

或者,你可以只使用一個patch對象

p = patch('vertices', [100, 100; 100, 200; 200, 200; 200 100], ... 
      'faces', [1, 2, 3, 4], ... 
      'FaceColor', 'b', ... 
      'FaceAlpha', 0.5) 
+0

謝謝!我忘記了有一個alpha通道:-P – patxiska