答案 0 :(得分:2)
答案 1 :(得分:1)
JPEG压缩算法非常适合您捕获的图像类型。它适用于照片,在含有细纹的图像上表现不佳。压缩产生的轻微伪影使得正确扫描条形码变得更加困难。
您没有看到面巾纸盒,因为您正在编写原始图像字节。您需要使用图像编码器。我建议你使用PngBitmapEncoder类。 GifBitmapEncoder也应该工作,因为你不需要很多颜色,它会产生较小的文件。显示如何使用编码器的代码段为available here。
答案 2 :(得分:0)
答案 3 :(得分:0)
我使用jpeg解码器来解决问题。
private void SetBitmap(byte[] image, int width, int height, int dpi)
{
MainWindow.Instance.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate()
{
BMemoryStream ms = new MemoryStream(image);
JpegBitmapDecoder decoder = new JpegBitmapDecoder(ms, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];
HwModeScreen.BarcodeImageCanvas.Children.Clear();
Image myImage = new Image();
myImage.Width = HwModeScreen.BarcodeImageCanvas.ActualWidth;
myImage.Height = HwModeScreen.BarcodeImageCanvas.ActualHeight;
myImage.Stretch = Stretch.Fill;
myImage.Source = bitmapSource;
HwModeScreen.BarcodeImageCanvas.Children.Add(myImage);
});