Магические числа в трансформации пространства с цветом к изображениюC#

Место общения программистов C#
Ответить
Anonymous
 Магические числа в трансформации пространства с цветом к изображению

Сообщение Anonymous »

Пожалуйста, игнорируйте ниже; Я забыл, как работает Integer Overflow>.

После просмотра невероятных ответов на этот вопрос кода гольф, я подумал, что могу возиться с созданием собственных изображений в C#. Я наткнулся на некоторое время, пытаясь создать сюжет XOR и обнаружил, что непосредственное написание компонентов (например, RED = A ^ B ) не сработала, но написание функций тригея вокруг логарифмов вокруг ядра A ^ B did; Есть ли причины для этого?ColorVec currColor = new ColorVec((float)Math.Sin(Math.Log(j ^ i)),
(float)Math.Cos(Math.Log(j ^ i)),
(float)Math.Tan(Math.Log(i ^ j)));
< /code>

Конструктор для ColorVec < /code>: < /p>

public ColorVec(float xR, float yG, float zB)
{
red = xR;
green = yG;
blue = zB;
}
< /code>

Функции для преобразования между цветами с плавающей точкой и восьмибитными цветами, ожидаемыми растровыми картами < /code>: < /p>

public byte GetIntRed()
{
return (byte)(red * 255);
}

public byte GetIntGreen()
{
return (byte)(green * 255);
}

public byte GetIntBlue()
{
return (byte)(blue * 255);
}
< /code>

Код программы: < /p>

class Program
{
static void Main(string[] args)
{
short width = 2048;
Random rand = new Random();
Bitmap imageWriting = new Bitmap(width, width);

for (short i = 0; i < width; i += 1)
{
Console.WriteLine(String.Concat("Working... (writing batch ", i, " of ", width, ")"));

for (short j = 0; j < width; j += 1)
{
ColorVec currColor = new ColorVec((float)Math.Sin(Math.Log(j ^ i)),
(float)Math.Cos(Math.Log(j ^ i)),
(float)Math.Tan(Math.Log(i ^ j)));

imageWriting.SetPixel(i, j, Color.FromArgb(1, currColor.GetIntRed(),
currColor.GetIntGreen(),
currColor.GetIntBlue()));
}
}

imageWriting.Save("test.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
}
}


Подробнее здесь: https://stackoverflow.com/questions/433 ... sformation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»