carlosmonster
Bovino maduro
- Desde
- 2 Ene 2009
- Mensajes
- 355
- Tema Autor
- #1
tengo esta linea de código en C# pero quiero migrarla a C++ .NET solo que al pasarla al ultimo lenguaje mencionado me marca un error de sintaxis:
linea en C#: byte* p = (byte*)(void*)bmData.Scan0.ToPointer();
esta es la parte que quiero pasar de C# a C++:
private void ThresholdImage(Bitmap bmp, int threshVal)
{
BitmapData bmData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
unsafe
{
byte* p = (byte*)(void*)bmData.Scan0.ToPointer();
for (int y = 0; y != bmp.Height * bmp.Width; ++y)
{
if (p[0] >= threshVal)
{
p[0] = 255;//en este punto es donde los valores
p[1] = 255;//de rojo, verde y blanco se modifican para
p[2] = 225;//obtener los bordes
}
else
{
p[0] = 0;//este punto es para modificar
p[1] = 0;//e invertir el contraste
p[2] = 0;
}
p += 3;
}
}
bmp.UnlockBits(bmData);
}
gracias a toda la gente bakuna que aporte ayuda!!!:vientos:
linea en C#: byte* p = (byte*)(void*)bmData.Scan0.ToPointer();
esta es la parte que quiero pasar de C# a C++:
private void ThresholdImage(Bitmap bmp, int threshVal)
{
BitmapData bmData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
unsafe
{
byte* p = (byte*)(void*)bmData.Scan0.ToPointer();
for (int y = 0; y != bmp.Height * bmp.Width; ++y)
{
if (p[0] >= threshVal)
{
p[0] = 255;//en este punto es donde los valores
p[1] = 255;//de rojo, verde y blanco se modifican para
p[2] = 225;//obtener los bordes
}
else
{
p[0] = 0;//este punto es para modificar
p[1] = 0;//e invertir el contraste
p[2] = 0;
}
p += 3;
}
}
bmp.UnlockBits(bmData);
}
gracias a toda la gente bakuna que aporte ayuda!!!:vientos: