我知道之前已经提出(并回答过)这个问题.但是,没有一个解决方案适合我.这可能是由于我的无能,伏都教诅咒或者我想念的简单而明显的事情.
下面是拼图的所有相关部分的屏幕截图:
截屏http://dinosaur-island.com/PlantPictureBoxScreenCap.jpg
正如您所看到的,有许多植物作为资源加载到Images文件夹中.有一个带有名为"PlantPicture"的图片框的表单.有字符串,我知道它有一个很好的路径(因为我在调试器中检查过它):
PicPath = PicPath+".bmp";
Run Code Online (Sandbox Code Playgroud)
截屏http://dinosaur-island.com/PlantDebugger.jpg
我尝试了很多种装载,铸造等方法等.
如果你会怜悯并再给它一次,我会很感激任何建议.谢谢!
在C#,WPF我创建了一个矩形:
Rectangle myRgbRectangle = new Rectangle();
myRgbRectangle.Width = 1;
myRgbRectangle.Height = 1;
SolidColorBrush mySolidColorBrush = new SolidColorBrush();
Run Code Online (Sandbox Code Playgroud)
是的,我真的只想要它是1像素乘1像素.我想根据变量高度改变颜色,如下所示:
mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, (byte)height);
myRgbRectangle.Fill = mySolidColorBrush;
Run Code Online (Sandbox Code Playgroud)
现在,我如何在屏幕上的特定x,y位置绘图?我的MainWindow.xaml上有一个网格(myGrid).
谢谢!
这是相关的代码:
myRgbRectangle.Width = 1;
myRgbRectangle.Height = 1;
SolidColorBrush mySolidColorBrush = new SolidColorBrush();
int height;
for (int i = 0; i < ElevationManager.Instance.heightData.GetLength(0); i++)
for (int j = 0; j < ElevationManager.Instance.heightData.GetLength(1); j++)
{
height = ElevationManager.Instance.heightData[i, j] / 100;
// Describes the brush's color using RGB values.
// Each value has …Run Code Online (Sandbox Code Playgroud) 有人知道如何用 C# 读取 NASA .hgt 文件吗?
显然,这里用 Python 提出了这个问题: how to read NASA .hgt binary files
鉴于这样一个类:
public class Dinosaur
{
public string Specie { get; set; }
public int Age { get; set; }
public int Weight { get; set; }
public Point Location { get; set; }
// Constructor
public Dinosaur()
{
}
Run Code Online (Sandbox Code Playgroud)
和这样的列表:
public static List<Dinosaur> Dinosaurs = new List<Dinosaur>();
Run Code Online (Sandbox Code Playgroud)
更改列表中最后一项的值的正确方法是什么?这会抛出一个错误("'System.Collections.Generic.List.this [int]'的最佳重载方法匹配有一些无效的参数"):
Dinosaurs[Dinosaurs.Last()].Location.X = pixelMousePositionX;
Run Code Online (Sandbox Code Playgroud)
一如既往,提前谢谢!Stackoverflow一直是这个项目的救命稻草.
在构建MainWindow之后,我需要首先调用一个方法.我已将此代码添加到XAML:
Loaded="MainWindow_Loaded"
Run Code Online (Sandbox Code Playgroud)
而这个方法到MainWindow:
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
SelectScenario dlg = new SelectScenario();
dlg.Top = 22;
dlg.ShowDialog();
if (ScenarioSelected == true)
{
LoadScenarioFile(SelectedScenario);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在完全构建MainWindow 之前,将调用SelectScenario对话框.我在哪里可以插入SelectScenario对话框的方法调用,所以我知道MainWindow已经完全构建?
在foreach循环中,我想比较一个元素与之前读取的元素.我怎样才能做到这一点?在foreach循环中寻址前一个元素的语法是什么?
谢谢!
c# ×6
wpf ×2
class ×1
combobox ×1
draw ×1
foreach ×1
list ×1
mainwindow ×1
picturebox ×1
rectangles ×1
winforms ×1