конвертировать php imagecopy в c #

Я пытаюсь преобразовать следующий код PHP в C #, но я застрял с эквивалентной imagecopy на C #. Я использовал Graphics.DrawImage, но, кажется, не работает.

PHP-код, который работает и генерирует гладкий волнистый текст

$xp = $this->scale*$this->Xperiod*rand(1,3);
$k = rand(0, 100);
for ($i = 0; $i < ($this->width*$this->scale); $i++) {
imagecopy($this->im, $this->im,
$i-1, sin($k+$i/$xp) * ($this->scale*$this->Xamplitude),
$i, 0, 1, $this->height*$this->scale);
}

Код C #, который я написал, используя Graphics.ImageDraw, который генерирует дрянной результат

переменные перед g.DrawImage — это те, которые использует php imagecopy.

int xp = scale * Xperiod * (new Random()).Next(1, 4);
int k = (new Random()).Next(1, 101);
for (int i = 0; i < (bitmap.Width * scale); i++)
{
var dst_x = i - 1;
var dst_y = Convert.ToInt32(Math.Sin(k + i / xp) * scale * Xamplitude);
var src_x = i;
var src_y = 0;
var src_w = 1;
var src_h = bitmap.Height * scale;
g.DrawImage(bitmap, new Rectangle(dst_x, dst_y, 1, bitmap.Height), new Rectangle(src_x, src_y, src_w, src_h), System.Drawing.GraphicsUnit.Pixel);
}

Дрянной результат в C #

введите описание изображения здесь

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]