• Domingo 22 de Diciembre de 2024, 04:30

Autor Tema:  Visual C++: Form realizar mascara sobre bmp  (Leído 1941 veces)

nix2008

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Visual C++: Form realizar mascara sobre bmp
« en: Jueves 22 de Enero de 2009, 17:07 »
0
Hola a tod@s,
necesito de vuestra ayuda, estoy haciendo mediante Visual C++ un formulario que contiene un boton para cargar un archivo bmp y aplicar sobre este una mascara que de como resultado final un archivo txt.
esto es lo que llevo, hasta ahora solo he conseguido seleccionar el archivo bmp, de la siguiente forma:

public: System::Void btnOpenFile_Click(System::Object^  sender, System::EventArgs^  e)
{      
openFileDialog1->Filter = "Imagen de mapa de bits |*.bmp";
openFileDialog1->Title = "Seleccione un fichero bmp";
if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
   {     
                textBox1->Text = openFileDialog1->FileName;
   System:String ^sFileName = openFileDialog1->FileName;
                MessageBox::Show(sFileName);
   }
 }


Lo que necesitaria es algo como la siguiente funcion de C++ pero para Visual C++:

void LoadFile(char *FileName)
{
   FILE *f;
   int i,j;
   COLORREF c;
   char color;

   if((f = fopen(FileName,"w")) == NULL) return;
   for(i=0; i<180; i++)
   {
      for(j=0; j<360; j++)
      {
         c = GetPixel(hDC,j,i);

         if(c == RGB(0,255,0)) color = 'w';      // green, warning zone
         else if(c == RGB(255,0,0)) color = 'S';   // red, safety zone
         else if(c == RGB(0,0,255)) color = 'm';   // blue, mask zone
         else color = '.';         // white, shoot

         fprintf(f,"%c",color);
      }
      fprintf(f,"n");
   }
   fclose(f);
}


Si alguien me pudiera ayudar, se lo agradeceria mucho ya que estoy totalmente perdida.

Muchas gracias y un saludo