ユーザーがデジタルカメラから画像をアップロードできる、かなり単純なASP.NETアプリケーションです。私はそれをウェブとサムネイル用に実行可能なサイズにリサイズする必要があります。 ここには何がベストプラクティスですか? Webサーバーに何かをインストールせずに簡単に実装できるライブラリはありますか?ASP.NETプロジェクトでユーザーがアップロードしたイメージのサイズ変更 - ライブラリですか?
0
A
答えて
1
SO上このスレッドはおそらくあなたが決めるのに役立ちます:
0
BitMap classを参照してください。これは、コンストラクタでサイズを指定することで簡単に行うことができます。
だから、あなたが半分に望んでいたと想像:
Bitmap firstBitMap; // created somewhere else
// Create a new bitmap from the first, scaling down as we go
Bitmap halfSize = new Bitmap(firstBitMap, new Size(firstBitMap.Width/2, firstBitMap.Height/2));
あなたはより高品質のソリューションをしたい場合は、あなたがconsider the InterpolationMode enumerationする必要があります。
単純なシナリオでは、サードパーティのライブラリを気にする必要はありません。
0
私は画像の専門家でありませんが、私は、ウェブサイト上の画像リサイズを実施し、このようなものを使用:
public static void ResizeImageHighQuality(string imgFilename, string imgResizedFilename, int resizeH, int resizeW)
{
Image img = Image.FromFile(imgFilename);
int h = 0, w = 0;
if (img.Width > img.Height)
{
w = Convert.ToInt32(resizeW);
h = Convert.ToInt32(w * Convert.ToDouble(img.Height)/Convert.ToDouble(img.Width));
}
else if (img.Height > img.Width)
{
h = Convert.ToInt32(resizeH);
w = Convert.ToInt32(h * Convert.ToDouble(img.Width)/Convert.ToDouble(img.Height));
}
else
{
h = resizeH;
w = resizeW;
}
Image thumbnail = new Bitmap(w, h);
Graphics graphic = Graphics.FromImage(thumbnail);
graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphic.SmoothingMode = SmoothingMode.HighQuality;
graphic.PixelOffsetMode = PixelOffsetMode.HighQuality;
graphic.CompositingQuality = CompositingQuality.HighQuality;
graphic.DrawImage(img, 0, 0, w, h);
ImageCodecInfo[] Info = ImageCodecInfo.GetImageEncoders();
EncoderParameters Params = new EncoderParameters(1);
Params.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
File.Delete(imgResizedFilename);
FileStream fs = new FileStream(imgResizedFilename, FileMode.CreateNew);
thumbnail.Save(fs, Info[1], Params);
fs.Close();
}
1
免責条項:私はこの図書館の著者です。
しかし、この目的のために設計されており、成熟しており、十分にテストされています。
http://nathanaeljones.com/products/asp-net-image-resizer/
私はあなたが含まれているサンプル・アプリケーションは、あなたが必要とする正確に何を見つけるだろうと思います。
0
ビットマップ(およびその他のSystem.Drawingクラス)はspecifically prohibited in ASP.NETです(ドキュメントページの上部にある警告を参照してください)。このような例外になることがあり、それらを使用して
:
TypeInitializationException: The type initializer for 'System.Windows.Media.Brush' threw an exception.
at System.Windows.Media.SolidColorBrush..ctor(Color color)
...
'System.Windows.Media.Transform' threw an exception.
at System.Windows.Media.Brush..cctor()Win32Exception: The operation completed successfully
at MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D wc_d)
at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks)
at MS.Win32.MessageOnlyHwndWrapper..ctor()
at System.Windows.Threading.Dispatcher..ctor()
at System.Windows.Threading.Dispatcher.get_CurrentDispatcher()
at System.Windows.Freezable..ctor()
at System.Windows.Media.MatrixTransform..ctor(Matrix matrix)
at System.Windows.Media.Transform..cctor()
と
Win32Exception: The operation completed successfully
at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks)
at System.Windows.Media.MediaContextNotificationWindow..ctor(MediaContext ownerMediaContext)
at System.Windows.Media.MediaContext..ctor(Dispatcher dispatcher)
あなたがやろうとしている内容に応じて、Windows Imaging Componentはあなたのニーズを満たすことができます。私たちはまた、単一のSTAスレッドを作成し、すべての描画操作をそのスレッドに呼び出すことで幸運を得ました。
関連する問題
- 1. アップロード中のDjangoサイズ変更イメージ
- 2. HTML5 - イメージのサイズを変更し、サイズ変更されたイメージにEXIFを保持
- 3. アップロード前のイメージのサイズをVBで変更する
- 4. イメージがアップロードされた場合、画像のアップロードとサイズ変更はイメージエディタツールで開かないでください
- 5. アップロードした後ではなく、アップロード時にイメージのサイズを変更しますか?
- 6. 異なるDPIを使用したASP.NETイメージのサイズ変更
- 7. ユーザーがアップロードした画像のサイズを変更するためのベストプラクティス
- 8. Javaイメージのサイズ変更(3サイズ)をAmazon S3にアップロード
- 9. Wordpressでのアップロード中にイメージのサイズを変更またはトリミングする方法
- 10. イメージをPythonMagickでサイズ変更
- 11. イメージをPHPでサイズ変更
- 12. イメージをイオンカードでサイズ変更
- 13. Androidのfirebaseイメージをサイズ変更し、firebaseのストレージにアップロード
- 14. イメージのサイズ変更
- 15. jQueryでイメージのサイズを変更する
- 16. アップロード画像、トリミング、サイズ変更
- 17. PHPイメージのサイズ変更がInternet Explorerでサイズ変更されない
- 18. Html:FormButtonでイメージをサイズ変更する
- 19. イメージをLaravelでサイズ変更する5.2
- 20. XCodeでイメージのサイズを変更しますか?
- 21. イメージをGroovyでどのようにサイズ変更しますか?
- 22. イメージのサイズ変更のスピードアップ
- 23. SItecore 8.1 MediaRequestHandlerでハッシュを使用したイメージのサイズ変更
- 24. Kraken.ioイメージのサイズ変更
- 25. イメージのサイズ変更 - Symfony
- 26. RahpaelJSイメージのサイズ変更
- 27. Codeigniterイメージのサイズ変更?
- 28. ファイルのアップロード中にサイズ変更されたイメージを移動する方法
- 29. サイズ変更イメージのCSS/HTML
- 30. イメージのサイズ変更Objective-C
System.Drawing名前空間のクラスで実装されていない機能がありますか? –
System.Drawingはひどくバグです。 [あなたがダイビングする前に28個の画像サイズ変更の落とし穴のリストを読んでください](http://nathanaeljones.com/163/20-image-resizing-pitfalls/)私は[imageresizing.netライブラリ](http:// imageresizing .net /)あなたが探しているものを正確に行う。シンプルで、1行のAPIを備えています。 –