2
私のWPFアプリケーションでImageSourceにImageを変換したいと思います。私は適切に動作するCode128ライブラリを使用しています(既にWinFormsアプリケーションでチェックされています)。以下の関数は、適切なサイズのImageSourceを返しますが、何も表示されません。結果にSystem.Drawing.ImageをSystem.Windows.Media.ImageSourceに変換する
private ImageSource generateBarcode(string number)
{
var image = Code128Rendering.MakeBarcodeImage(number, 1, false);
using (var ms = new MemoryStream())
{
var bitmapImage = new BitmapImage();
image.Save(ms, ImageFormat.Bmp);
bitmapImage.BeginInit();
ms.Seek(0, SeekOrigin.Begin);
bitmapImage.StreamSource = ms;
bitmapImage.EndInit();
return bitmapImage;
}
}
UPDATE: 最善の方法は、以下のクレメンスによるコメントです。 memorystreamを使用するより約4倍高速です。
もしあなたの 'Image'が実際にある' Bitmap'、あなたは変換のためのこの代替方法を使用することができます。http://stackoverflow.com/a/10077805/1136211 – Clemens
も、この質問を参照してくださいます。http:// stackoverflow.com/q/94456/1136211 – Clemens