0
我一直在使用sql ce將一些數據到我的應用程序。現在我需要添加一些圖像,使它看起來很漂亮。什麼都我想知道的是數據綁定的圖像使用sql ce的Windows Phone 7
- 必須有一些圖像進行字節轉換,
- 檢索圖像字節碼,並轉換回圖像。
我被困在第二部分,我該如何繼續?
引用需要任何鏈接或示例。
非常感謝。
我一直在使用sql ce將一些數據到我的應用程序。現在我需要添加一些圖像,使它看起來很漂亮。什麼都我想知道的是數據綁定的圖像使用sql ce的Windows Phone 7
我被困在第二部分,我該如何繼續?
引用需要任何鏈接或示例。
非常感謝。
以下是我過去使用的一些想法。
在DB的圖像列:
[Column]
public byte[] MyImage
{
get { return _myImage; }
set
{
if (_myImage != value)
{
_myImage = value;
NotifyPropertyChanging("MyImage");
NotifyPropertyChanged("MyImage");
}
}
}
保存圖像:
public void AddNewImage(Stream image, string url)
{
byte[] byteArray = GetImageBytes(image);
var item = new MyDatabaseItem { Count = 1, ItemImageUrl = url, MyImage = byteArray };
MyDatabaseItemModel.Add(item);
MyDatabaseDB.MyDatabaseItems.InsertOnSubmit(item);
MyDatabaseDB.SubmitChanges();
}
獲取圖像:
private byte[] GetImageBytes(Stream stream)
{
using (var ms = new MemoryStream())
{
var writeableBitmap = PictureDecoder.DecodeJpeg(stream, 200, 200);
writeableBitmap .SaveJpeg(ms, 200, 200, 0, 30);
return ms.ToArray();
}
}
使用值轉換器:
public class ImageConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is byte[])
{
var memoryStream = new MemoryStream(value as byte[]);
varwriteBitmap = PictureDecoder.DecodeJpeg(memoryStream, 200, 200);
return writeBitmap;
}
else
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
最後將它綁定在XAML:
<Image Source="{Binding MyImage, Converter={StaticResource ImageConverter}}" Stretch="UniformToFill"/>
PictureDecoder並不在這裏工作,我失去了什麼? – Xander
「不起作用」,請您詳細說明一下嗎?任何錯誤消息? –
糟糕我錯過了 使用System.Windows.Resources; using System.Windows.Media.Imaging; using Microsoft.Phone;這些參考。對不起, – Xander