AbstractImageServletを拡張してカスタムサーブレットを作成し、これをカスタムセレクタに登録し、createLayerメソッドをオーバーライドしました。画像または画像の元の表現から層を得た後のいずれかの層を返すことは、画像の原画像と高さを返さないAbstractImageServletを使用してDAMにアップロードされたイメージの元のレンディションを取得する方法は?
Image img=new Image(imageContext.resource);
Layer layer=img.getLayer(true, true, true);
return layer;
又は
IMAGEPATHでのパスであるResource imgResource = imageContext.request.getResourceResolver()
.getResource(imagePath);
Layer layer=imgResource.getLayer(true, true, true);
return layer;
画像の元の表現は
DAMにおける画像の元の表現のサイズは2048×1100および220キロバイト
しかし番目の大きさであります元のレンディションからレイヤーを取得した後にサーブレットによって返されたイメージは1280 * 687および292 KB
com.day.cq.wcm.foundation.ImageクラスのgetLayerメソッドは元のレンディションの正確に同じサイズを返しません。
AbstractImageServletを拡張した元のイメージの自然なサイズをカスタムサーブレットにするにはどうすればよいですか?
これを試しました。元の演奏とまったく同じ大きさとサイズが得られない。 – user2776643
@ user2776643レイヤの作成とデバッグ後に次の行にブレークポイントを設定できますか?レイヤのどのサイズですか?要求処理の次のステップでは、サーブレットがイメージを圧縮することができます。 –
高さと幅は元のレンディションと同じです。 KB単位の画像サイズは同じではありません。サイズは、オーディナリ・レンディションのサイズを超えています。なぜそれが同じではない、どのように元の演奏のサイズと同じにすることができますか? – user2776643