C # рисование в слоях - PullRequest
1 голос
/ 11 января 2010

У меня есть идея, и, возможно, вы, ребята, можете дать мне хорошее начало или идею, в которой путь может быть правильным.

У меня сейчас есть окно с картинками для загрузки определенного файла BMP. То, что я хочу сделать, это загрузить этот файл BMP в Picturebox, а затем загрузить другое изображение поверх него. Кикер на все это 2-е изображение должно быть нарисовано. 2-я картинка - это просто черный ящик. Этот черный ящик также должен быть наложен на первое изображение точно так же, на черном ящике есть кординаты от краски (да, у нас есть # из сердечек).

Все еще думаете, что картинка-бокс - это путь, или есть способ загрузить краску в нее, а затем рисовать поверх изображения краски?

1) Нужно загрузить изображение 2) Необходимо прочитать конкретный файл, который имеет шнуры 3) Необходимо нарисовать черный прямоугольник, который соответствует этим координатам (эти шнуры были созданы в краске).

Как вы думаете, что лучше всего подойти к этому? Графическое поле с кодом для рисования в шнурах отредактированного изображения

Ответы [ 2 ]

1 голос
/ 12 января 2010

Вот пример кода, который должен делать то, что вы после:

//Load in an image
pbTest.Image = Image.FromFile("c:\\Chrysanthemum.jpg");

//Create the graphics surface to draw on
using (Graphics g = Graphics.FromImage(pbTest.Image))
{
    using (SolidBrush brush = new SolidBrush(Color.Black))
    {
        //Draw a black rectangle at some coordinates
        g.FillRectangle(brush, new Rectangle(0, 0, 20, 10));
        //Or alternatively, given some points
        //I'm manually creating the array here to prove the point, you'll want to create your array from your datasource.
        Point[] somePoints = new Point[] { new Point(1,1), new Point(20,25), new Point(35, 50), new Point(90, 100) };

        g.FillPolygon(brush, somePoints);
    }
}

готовая статья: альтернативный текст http://i48.tinypic.com/2cdh5j8.gif

0 голосов
/ 11 января 2010

Этот ответ написан для применения как C #, так и вне Интернета (почему я не привел конкретных примеров.)

GDI и другие графические библиотеки имеют функции, которые закрашивают заполненный прямоугольник поверх изображения. Это путь. Если вы используете два изображения, у обычного пользователя есть хорошие шансы, а у хакера - хорошие, они смогут просматривать только исходное изображение, предоставляя информацию, которую вы пытаетесь скрыть.

Если вы отправляете изображение только с отредактированными областями, вам никогда не придется беспокоиться о том, что они видны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...