C# Programming
04-03-2009, 12:02 AM
there is ugly work isn't it? http://www.barakasoft.com/script/Forums/Images/smiley_frown.gif
i realy hate this surface.
listen me. i need help for this code part.
i try to 2 way for write on backbuffer. X8R8G8B8 format. 400x300 client size in form.
way the one :
int pitch;
using (GraphicsStream gs = s.LockRectangle(this.ClientRectangle, LockFlags.None, out pitch))
{
byte[] b = new byte[(400 * 300 ) * 4];
for (int i = 0; i < (400 * 300 ) * 4; i += 4)
{
b[i] = 255;
b[i + 1] = 255;
b[i + 2] = 255;
b[i + 3] = 255;
}
gs.Write(b, 0, (400 * 300) * 4);
but it doesn't work correctly. it put some pixel on surface but like some line on different x axis on surface.
way the last:
try
{
uint[,] a = (uint[,])s.LockRectangle(typeof(uint),Rectangle.FromLTRB(100,100,200,200), LockFlags.None, new int[] { 100, 100 });
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 100; j++)
{
a[i, j] = 0xFFFFFFFF;
}
}
}
catch (Exception e) { }
try
{
s.UnlockRectangle();
}
catch {
}
this way dont give me to different result. help me. sorry! im not beginner. but i dont have good english.
thank you.
i realy hate this surface.
listen me. i need help for this code part.
i try to 2 way for write on backbuffer. X8R8G8B8 format. 400x300 client size in form.
way the one :
int pitch;
using (GraphicsStream gs = s.LockRectangle(this.ClientRectangle, LockFlags.None, out pitch))
{
byte[] b = new byte[(400 * 300 ) * 4];
for (int i = 0; i < (400 * 300 ) * 4; i += 4)
{
b[i] = 255;
b[i + 1] = 255;
b[i + 2] = 255;
b[i + 3] = 255;
}
gs.Write(b, 0, (400 * 300) * 4);
but it doesn't work correctly. it put some pixel on surface but like some line on different x axis on surface.
way the last:
try
{
uint[,] a = (uint[,])s.LockRectangle(typeof(uint),Rectangle.FromLTRB(100,100,200,200), LockFlags.None, new int[] { 100, 100 });
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 100; j++)
{
a[i, j] = 0xFFFFFFFF;
}
}
}
catch (Exception e) { }
try
{
s.UnlockRectangle();
}
catch {
}
this way dont give me to different result. help me. sorry! im not beginner. but i dont have good english.
thank you.