2017-03-13 9 views
0

私はAzure Blobストレージに何かを追加するたびに、サイズ変更されたコピーが追加のコンテナに保存される関数を書くためのチュートリアルを完了しました(コードスニペット参照)。 。Azureストレージ機能 - Image Resizer - フォーマットを変更できない

https://ppolyzos.com/2016/12/30/resize-images-using-azure-functions/

問題は、=以下のチュートリアルでは、私は単純にフォーマットを追加することができます言う

Azureのブロブストレージに格納オクテットストリームとしてリサイズ画像(アズールのデフォルト設定)というのではなく、以前のJPG形式のようですJpeg;下記のコードスニペットで示されているように、その形式を達成してください。

http://jameschambers.com/2016/11/Resizing-Images-Using-Azure-Functions/

誰でも紺碧の機能を使用して画像のサイズ変更されたコピーを作成するとき、私は元の形式のJPEGを保つことができる方法を知っていますか?

using ImageResizer; 
using ImageResizer.ExtensionMethods; 

public static void Run(Stream myBlob, string blobname, string blobextension, Stream outputBlob, TraceWriter log) 
{ 
    log.Info($"C# Blob trigger function Processed blob\n Name:{blobname} \n Size: {myBlob.Length} Bytes"); 

    var instructions = new Instructions  
    {   
     Width = 200,   
     Mode = FitMode.Carve,   
     Scale = ScaleMode.Both, 
     Format = Jpeg  
    }; 
    instructions.OutputFormat = OutputFormat.Jpeg; 
    ImageBuilder.Current.Build(new ImageJob(myBlob, outputBlob, instructions)); 
} 

多くの感謝!

+0

だから、あなたの元のファイルは、JPEGで、出力ファイルは、JPEGです。あなたはファイル形式に関してどんな問題があるのか​​説明できますか? OutputFormat.Jpegの設定が期待どおりに機能していないと言っていますか? – RAS

答えて

0

私が知る限り、アズール関数はファイルの形式を出力のパスに従って生成します。

以下のように:

出力: enter image description here

tiggers:「ギャラリーリサイズ/ {blobname} -w200 {blobextension}」enter image description here

あなたにパスを設定した場合これは、inputblobファイルのblobnameとblobextensionに従ってファイルを生成します。

あなたのtiggersパスのパラメータが出力パスのパラメータと同じであることを確認することをお勧めします。

ファンクションコードで自動的にファイルが生成されるため、ファンクションコードでそのフォーマットを変更できませんでした。

あなたはJPGにすべてのファイルの形式を変更したい場合は、私はあなたが以下のように出力に含まのパスを変更するお勧め:

gallery-resized/{blobname}-w200.jpg 

そして、それは常にJPG形式の出力を生成します。

結果:

enter image description here

関連する問題