Есть ли способ проверить, пусто ли растровое изображение в .NET? - PullRequest
1 голос
/ 15 ноября 2011

Я пытаюсь проверить растровый объект, чтобы увидеть, установлен он или пуст.Кажется, .NET не имеет этой функции.Я посмотрел на сайте библиотеки MSDN и stackoverflow и там очень мало упоминаний об этом в связи с .NET.Есть ли другой способ сделать это в .NET?

Когда TBitmaap не содержит изображений, его свойство Empty имеет значение True

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Ваши единственные параметры для растрового изображения - это то, что он создан или имеет нулевое значение, и после прочтения комментариев и вашего ответа сбивает с толку то, что вы пытаетесь сделать.Растровое изображение равно нулю или нет, что, я думаю, эквивалентно языку, который вы говорите, пусто:

private Bitmap _bmp;

private void button1_Click(object sender, EventArgs e) {
  if (_bmp == null)
    _bmp = new Bitmap(@"c:\example.bmp");
}

Вы можете сделать из него расширение, например:

public static class MyExensions {
  public static bool IsEmtpy(this Bitmap bitmap) {
    return (bitmap == null);
  }
}

и это превратит ваш код в следующее:

private void button1_Click(object sender, EventArgs e) {
  if (_bmp.IsEmtpy())
    _bmp = new Bitmap(@"c:\example.bmp");
}
0 голосов
/ 15 ноября 2011

Поправь меня, если я ошибаюсь.

Исходя из Delphi win32, я знаю, что вы можете создать объект растрового изображения и установить его свойство изображения позже следующим образом.

Bitmap:TBitmap;
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\example.bmp');

В этом случае вы не можете просто проверить, является ли объект растрового изображения нулевым или нулевым. Вы должны на самом деле проверить, установлено или не установлено свойство изображения.

Что касается .NET, когда вы создаете объект растрового изображения, вы должны передать изображение в качестве параметра его конструктору. Это означает, что конструктор создает экземпляр и устанавливает свое изображение. Вы можете проверить, установлено ли разрешение изображения, ширина и высота или нет, как указал Хенк Холтерман.

    image1 = new Bitmap(@"C:\Documents and Settings\All Users\Documents\My Music\music.bmp", true);
...