アニメーション GIF ファイルのサイズを変更する際にエラーが発生する


説明

以下の方法でアニメーション GIF ファイルのサイズを変更する際に、Sitecore ログ ファイルに「Could not run the 'getMediaStream' pipeline」エラー メッセージが記録される場合があります。

エラー メッセージ:

ERROR Could not run the 'getMediaStream' pipeline for '/sitecore/media library/Files/2-col-img'. Original media data will be used.
 Exception: System.OverflowException
 Message: Arithmetic operation resulted in an overflow.
 Source: Sitecore.Kernel
  at Sitecore.ImageLib.ThumbMaker.GetSourceByteAt(Int32 x, Int32 y)
  at Sitecore.ImageLib.ThumbMaker.IndexedRezise(Int32 xSize, Int32 ySize, Boolean preserveResolution)s
  at Sitecore.ImageLib.Resizer.ResizeGif(Bitmap image, Size imageSize, Size frameSize, Color frameColor, Boolean preserveResolution)
  at Sitecore.ImageLib.Resizer.Resize(Bitmap bitmap, Size imageSize, Size frameSize, Color frameColor, Boolean preserveResolution, ImageFormat format, InterpolationMode interpolationMode, CompositingMode compositingMode, PixelOffsetMode pixelOffsetMode)
  at Sitecore.ImageLib.Resizer.Resize(Bitmap bitmap, ResizeOptions options, ImageFormat format, InterpolationMode interpolationMode)
  at Sitecore.Resources.Media.ImageEffectsResize.ResizeImageStream(Stream inputStream, TransformationOptions options, ImageFormat outputFormat)
  at Sitecore.Resources.Media.ResizeProcessor.Process(GetMediaStreamPipelineArgs args)
  at (Object , Object[] )
  at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  at Sitecore.Resources.Media.Media.GetStreamFromPipeline(MediaOptions options, Boolean& canBeCached)

解決策

本事象を解決するには、使用しているSitecoreのバージョンに応じて、次のパッチのいずれかをダウンロードしてインストールします。

上記のパッチは、サーバー側でのGIF 画像のサイズ変更を無効にし、ブラウザを利用するようにするものです。