Mam wiele zdjęć i ich współrzędne o szerokości i wysokości. Zdjęcie jest umieszczane w skrzynce obrazkowej i wysyłam współrzędne, aby narysować na nim prostokąt. Na panelu znajduje się wiele ramek graficznych.C# rysowanie prostokąta na obrazku?
Wysyłam ich ścieżki do klasy PicturePanel
również z pewnymi współrzędnymi i właściwościami szerokości/wysokości, aby narysować prostokąt. Jednak moim problemem jest to, że rysuje i natychmiast usuwa. Jeśli nie umieszczę skrzynki po każdym obrazie, nie widzę prostokątów. Oto kod;
if (IsRun())
{
MessageBox.Show("rontool true");
Rectangle ee = drawARectangle(xCoor, yCoor, MainScreen.tempR.wid/ratioOfx, MainScreen.tempR.heig/ratioOfy); // I wrote this, it only creates and returns the rectangle.
//MessageBox.Show("x : " + xCoor + " y: " + yCoor + " width : " + (MainScreen.tempR.wid/ratioOfx) + " height: " + (MainScreen.tempR.heig/ratioOfy));
using (Pen pen = new Pen(Color.Red, 2))
{
pictureBox.CreateGraphics().DrawRectangle(pen, ee);
// e.Graphics.DrawRectangle(pen, ee);
}
}
Jest to
private void PictureBox_Paint(object sender, PaintEventArgs e).
dla pętli w innej klasy tworzy pictureBox i inicjalizacji x, y itd. Jednakże, zwraca i natychmiast usuwa się. lub czasami nawet nie rysuje.
Jeśli po każdym obrazie nie umieszczam skrzynki po wiadomościach, nie widzę nawet prostokątów. Możesz mi pomóc?
Wywołuję go w pętli for, więc prostokąty znikają. – Ada
Będziesz musiał pokazać więcej kodu, niż zrobiłeś w swoim pytaniu. Dokładniej, co dzieje się w tej pętli. – Ben