НаиПростейшая прога с Graphics
От: nt2000  
Дата: 03.01.20 21:36
Оценка: -4
Не могу достучаться Graphics из метода MAIN или из соседнего метода.
Везде подчёркивается красным
Приложение СонсолеАрр
сверху указал
using System;
using System.Drawing;
using System.Windows.Forms; -кстати ФОРМС(только формс) тоже подчёркнуто красным наверное изза СонсолеАрр

Мне надо всё написать ручками в МАИНе и запустить.
В условиях задачи нет подробностей
Из маина нарисуйте и отобразите вот такую картину размеры такие узоры вот такие используя Graphics,Penс,Brushс

Не соображу с какой стороны подойти
Везде красные подчёркивания и никаких подсказок какие ссылки надо указать чего не хватает
Пишу нудно и подробно чтобы вы опять не начинали ругаться что не хочу искать не хочу читать документацию того не хочу этого не хочу
Мне не надо чтобы за меня решили задачу просто кто бы подсказал где искать куда копать

Пока вычитал что есть три способа работы с ГРАФИКС

        private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs pe)
        {
            // Declares the Graphics object and sets it to the Graphics object  
            // supplied in the PaintEventArgs.  
            Graphics g = pe.Graphics;
            // Insert code to paint the form here.  
        }

            Graphics g;
            // Sets g to a graphics object representing the drawing surface of the  
            // control or form g is a member of.  
            g = this.CreateGraphics();

            Bitmap myBitmap = new Bitmap(@"C:\Documents and Settings\Joe\Pics\myPic.bmp");
            Graphics g = Graphics.FromImage(myBitmap);

Ни один не запускается, наверное они все предназначены для ВинФормсАрр
Везде красные подчёркивания и никаких подсказок чего не хватает
В документации везде краткие названия, в МС не догадываются чтоли указать какие usingi используют
Неужели один я сталкиваюсь с этим?!

Наткнулся на одну прогу, вроде то что мне надо (для изучения Графис) почти всё без ошибок.
Полные названия я добавил (по подсказке ВС2019 или 17)например System.Net.Mime.MediaTypeNames.Image. Краснота убралась(почти)
Где можно было красное поменял на var. Немножко помогло (не было ни одного ВАР)
Но в двух местах краснота осталась! (внизу привожу ту часть, где краснота не исчезла)
            Console.WriteLine("Graphics in console window!");

            var location = new System.Drawing.Point(10, 10);
            var imageSize = new System.Drawing.Size(20, 10); // desired image size in characters

            // draw some placeholders
            Console.SetCursorPosition(location.X - 1, location.Y);
            Console.Write(">");
            Console.SetCursorPosition(location.X + imageSize.Width, location.Y);
            Console.Write("<");
            Console.SetCursorPosition(location.X - 1, location.Y + imageSize.Height - 1);
            Console.Write(">");
            Console.SetCursorPosition(location.X + imageSize.Width, location.Y + imageSize.Height - 1);
            Console.WriteLine("<");

            string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonPictures), @"Sample Pictures\tulips.jpg");
            using (var g = Graphics.FromHwnd(GetConsoleWindow())) //!!!GRAFIKC подчёркнуто красным !!!!!!!
            {
                using (var image = System.Net.Mime.MediaTypeNames.Image.FromFile(path)) //!!!FROMFAILE подчёркнуто красным !!!!!!!
                {
                    System.Drawing.Size fontSize = GetConsoleFontSize();

                    // translating the character positions to pixels
                    var imageRect = new System.Drawing.Rectangle(
                        location.X * fontSize.Width,
                        location.Y * fontSize.Height,
                        imageSize.Width * fontSize.Width,
                        imageSize.Height * fontSize.Height);
                    g.DrawImage(image, imageRect);
                }
            }

Как вот эту форму using (var g = ... ) { ... }
развернуть в обычную форму? Мне кажется дальше смог бы разобраться
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.