Я некоторое время смотрю по интернету, и я не могу найти ответ, который я искал. Так что я намереваюсь делать с растровыми изображениями, я хочу нарисовать их в окне и иметь возможность изменять их размер каждый раз. Любая помощь будет оценена!SharpDX Bitmaps
ответ
Для тех из вас, кто не знает, вы можете использовать матрицы для перевода, изменения размера и поворота. Вот как это сделать. Также не забудьте изменить матрицу для RenderTarget, прежде чем рисовать фактический объект.
Vector2 center = new Vector2(bitmap.Size.Width/2, bitmap.Size.Height/2);
renderTarget.Transform = Matrix.Transformation2D(center, 0f, new Vector2(width/bitmap.Size.Width, height/bitmap.Size.Height), center, MathHelper.ToRads(rotation), new Vector2(x - center.X, y - center.Y));
renderTarget.DrawBitmap(bitmap, 1f, BitmapInterpolationMode.NearestNeighbor);
renderTarget.Transform = Matrix.Transformation2D(Vector2.Zero, 0f, new Vector2(1f, 1f), Vector2.Zero, MathHelper.ToRads(0), Vector2.Zero);
Благодарим вас за то, что вы ответили на этот вопрос. – NextInLine
Нет проблем, я бы хотел, чтобы у других было легче, чем когда я находил ответ. Я также обновил ответ, чтобы потом все изменить. – Karutoh
Почему вы рассматриваете SharpDX (Direct2D?)? WPF или Windows Phone/Windows App имеют технологии для рисования произвольных путей, которые будут намного проще использовать, особенно по мере изменения размеров. – NextInLine
Потому что я разрабатываю игровой движок, а не обычное настольное приложение или приложение. – Karutoh