Как конвертировать Wbmp в Png?

Потратив много времени на изучение этого в Google, я не смог найти пример преобразования изображения Wbmp в формат Png на языке C #. Я загрузил несколько изображений Wbmp из Интернета и просматриваю их с помощью двоичного редактора.

У кого-нибудь есть алгоритм, который поможет мне в этом, или какой-либо код также поможет.

То, что я знаю до сих пор:

  1. Первый байт имеет тип*(0 для монохромных изображений)
  2. Второй байт называется «фиксированный -заголовок» и равен 0
  3. . Третий байт — это ширина изображения в пикселях *
  4. . Четвертый байт — высота изображения в пикселях*
  5. Байты данных расположены рядами — один бит на пиксель :Если длина строки не делится на 8, строка дополняется 0 -до граница байта

Я полностью потерялся, поэтому любая помощь будет оценена по достоинству


Некоторые другие коды:

using System.Drawing;
using System.IO;

class GetPixel
{
   public static void Main(string[] args)
   {
      foreach ( string s in args )
      {
         if (File.Exists(s))
         {
            var image = new Bitmap(s);
            Color p = image.GetPixel(0, 0);
            System.Console.WriteLine("R: {0} G: {1} B: {2}", p.R, p.G, p.B);
         }
      }
   }
}

И

class ConfigChecker
{
   public static void Main()
   {
      string drink = "Nothing";
      try
      {
         System.Configuration.AppSettingsReader configurationAppSettings 
            = new System.Configuration.AppSettingsReader();
         drink = ((string)(configurationAppSettings.GetValue("Drink", typeof(string))));
      }
      catch ( System.Exception )
      {
      }
      System.Console.WriteLine("Drink: " + drink);
   } // Main
} // class ConfigChecker

Процесс:

  1. Изучал Wbmp

  2. Откройте X.wbmp, чтобы сначала проверить детали

  3. Подумайте, как найти ширину и высоту файла WBMP (, чтобы позже написать код ). Обратите внимание, что самый простой способ преобразовать набор байтов длины (после очистки MSB )— это рассматривать объект как базовый -128.

  4. Посмотрите на образец кода, который я обновил.

  5. Я пытаюсь создать пустой объект Bitmap и установить его ширину и высоту в соответствии с тем, что мы разработали в (3)

  6. Для каждого бита данных будет пытаться выполнить SetPixel для созданного объекта Bitmap.

  7. Дополняется нулями, если ширина WBMP не кратна 8.

  8. Сохраните Bitmap, используя метод Save ().

Пример использования приложения. Предполагается, что приложение называется Wbmp2Png.В командной строке:

Wbmp2Png IMG_0001.wbmp IMG_0002.wbmp IMG_0003.wbmp

Приложение преобразует файлы IMG _0001.wbmp, IMG _0002.wbmp и IMG _0003.wbmp в файлы PNG.

5
задан Bill the Lizard 21 September 2012 в 17:18
поделиться