Graphics | ![]() ![]() |
EraseMode
EraseMode
プロパティは、Image オブジェクトのCData
が変更された場合、スクリーン上のイメージをMATLABがどのように更新するかを制御します。
EraseMode
のデフォルト設定は、'normal'
です。この設定で、set
コマンドを使って、ImageオブジェクトのCData
を変更すると、MATLABは、新しいCData
配列を使って、イメージを再描画する前に、スクリーン上のイメージを消去します。消去ステップは、一連のイメージを速く、スムーズに表示する場合、問題になります。
ImageオブジェクトのEraseMode
プロパティを'none'
に設定して、イメージのCData
を変更すると、表示されるイメージは、高速に、かつスムーズに更新されます。この設定で、MATLABは、表示されているイメージを消去するための時間を必要とはしません。すなわち、CData
が変更されたとき、すぐに、更新されたイメージを描画します。
たとえば、同じ大きさのx個の異なるトゥルーカラーイメージを含む、m x n x 3 x xの配列A
を考えます。 この配列は、動的につぎのように表わせます。
h = image(A(:,:,:,1),'EraseMode','none'); for i = 2:x set(h,'CData',A(:,:,:,i)) drawnow end
ループを通して、各ステップで新しいImageオブジェクト作成すると言うよりも、このコードは、単に、ImageオブジェクトのCData
を変更するものです(ここで、image
コマンドを使って、最初のラインを作成します)。drawnow
コマンドは、MATLABにループを通して、各ステップでの表示を更新します。イメージのEraseMode
が、'none'
に設定されているので、CData
を変更しても、スクリーン上のイメージは、ループの各ステップで、消去されません。
![]() | XDataとYData | イメージの印刷 | ![]() |