1

Image Transform を使用して画像のサイズを変更するために、Image service factory を使用しています。

私がやっていることは、彼らが複数の画像を選択したときです.Javascriptでそれらの画像の画像データを取得し、それをサーバーに渡してbyte []に​​変換し、そこから新しい画像を作成し、画像のサイズを変更して取得しています最終的なサイズ変更された画像。

確認すると、画像がぼやけています。

ここでコードを提供しました。それをチェックして、どこが間違っているのか教えてください。

ありがとう

ImagesService imagesService = ImagesServiceFactory.getImagesService();
Image original = ImagesServiceFactory.makeImage(imageByteArray);
Transform resize1 = ImagesServiceFactory.makeImFeelingLucky();
Transform resize = ImagesServiceFactory.makeResize(width, height); 
CompositeTransform ct = ImagesServiceFactory.makeCompositeTransform();
ct = ct.concatenate(resize).concatenate(resize1);
Image newImage = imagesService.applyTransform(resize, original);
FileService fileService = FileServiceFactory.getFileService();
AppEngineFile file = fileService.createNewBlobFile(newImage.getFormat().toString());
FileWriteChannel writeChannels =fileService.openWriteChannel(file, true);
writeChannels.write(ByteBuffer.wrap(newImage.getImageData()));
writeChannels.closeFinally();
BlobKey croppedblobKey = fileService.getBlobKey(file);
String ImageUrl = imagesService.getServingUrl(ServingUrlOptions.Builder.withBlobKey(croppedblobKey));
System.out.println("badgeImageUrl::"+ImageUrl.trim());
4

0 に答える 0