2017-05-29 16 views
0

イメージを取り込んでサイズを変更し、グレースケールにする関数をAzureで作成しています。私は現在、この機能を使用しています:SimpleFiltersで画像にグレースケールを適用するにはどうしたらいいですか?

#r "System.Drawing" 

using ImageResizer; 
using ImageResizer.Plugins.SimpleFilters; 
using System.Drawing; 
using System.Drawing.Imaging; 

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

    var settings = new ImageResizer.ResizeSettings{ 
    MaxWidth = 400, 
    Format = "png" 
    }; 

    // Add the grayscale filter to the image 
    inputImage.filters.Add(GrayscaleNTSC()); 

    ImageResizer.ImageBuilder.Current.Build(inputImage, resizedImage, settings); 

} 

私はPlugins.SimpleFiltersをインポートしていますが、私はC#でそれを使用する方法がわかりません。プロジェクトサイトは、純粋なHTMLの例を提供しています。

イメージをグレースケールにする方法をご存知ですか?

私は次のエラーを取得する: 名「GrayscaleNTSCは、」現在のコンテキスト内に存在しない

私が使用しているパッケージは、次のとおりです。

"dependencies": { 
    "ImageResizer": "4.0.5", 
    "ImageResizer.Plugins.SimpleFilters": "4.0.5" 
} 
+0

だからGrayscaleNTSCとは何ですか?あたかもあなたの静的な方法であるかのように呼び出そうとしています... – Mikhail

答えて

1

はあなたの説明によると、私がいることを前提としImageResizerのManaged APIを利用して目的を達成することができます。ここに私のテストで、あなたはそれを参照することができます:

コアコード

//install the SimpleFilters plugin 
ImageResizer.Configuration.Config.Current.Plugins.Install(new SimpleFilters()); 
var settings = new ResizeSettings("width=400&height=500&crop=auto&s.grayscale=true"); 
ImageBuilder.Current.Build($"{baseDir}/resources/image_01.jpg", $"{baseDir}/resources/image_01_01.jpg", 
        settings); 

結果

enter image description here

また、あなたはより多くの詳細についてはManaged API samplesSimpleFilters pluginを参照することができます。

+0

ありがとう!これはまさに私が必要としたものでした。そのドキュメンテーションを見つけるのが難しかった。それは今通りに動作します。 – krillebimbim

関連する問題