當我的程序顯示的圖像小於XAML中定義的圖像GUI對象時,它不會被拉伸到適合我喜歡的程度。 例如,256x256圖像只佔用我512x512圖像GUI對象的左上象限。我很困惑,因爲我在XAML代碼中設置了Stretch =「Fill」。我還需要做些什麼?任何幫助代碼(見下文)將不勝感激。如何繪製圖像以填充此WPF/XAML應用程序?
XAML代碼定義GUI
<Window x:Class="MyProgram.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MyProgarm" Height="900" Width="890" Name="mainWindow" Icon="Icon.ico" MouseDown="mouseDown">
<Grid Name="mainGrid" Background="#FFEBE7F0" Width="800.10">
<Border Margin="139,32,0,0" Name="border1" Height="512" VerticalAlignment="Top" HorizontalAlignment="Left" Width="512" Background="#F0D4D0D0" />
<Border Margin="138,602,0,0" Name="border2" Height="256" VerticalAlignment="Top" HorizontalAlignment="Left" Width="256" Background="#F0D4D0D0" />
<Border Margin="400,602,0,0" Name="border3" Height="256" VerticalAlignment="Top" HorizontalAlignment="Left" Width="256" Background="#F0D4D0D0" />
<Image Margin="135,32,0,0" Name="imagePanel1" Stretch="Fill" HorizontalAlignment="Left" Width="512" MouseMove="imagePanelAxl_MouseMove" Height="512" VerticalAlignment="Top" Canvas.Left="-135" Canvas.Top="-32">
</Image>
代碼我用它來繪製圖像:
byte[] myColorImage=// 256x256 RGB image loaded from disk
int W=256;
int H=256; // dimensions of myColorImage
// Use multiple cores
image.Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Normal,
new Action<byte[]>(
delegate(byte[] myColorImage_IN)
{
const int dpi = 96;
BitmapSource bmpsrc = BitmapSource.Create(W, H, dpi, dpi, PixelFormats.Bgr24, null, myColorImage_IN, W * 3);
image.Source = bmpsrc;
}
), myColorImage);
似乎該名稱不是ImageBrush的屬性。如果是這樣的話,是否可以通過編程方式分配圖像? –
x:將它命名應該是我的錯誤。 –