Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
May_Johnson

Код:
Image myImage = new Image();
            // Set image source.
            myImage.Source = Imaging.CreateBitmapSourceFromHIcon(System.Drawing.SystemIcons.Information.Handle, new Int32Rect(0, 0, 32, 32), System.Windows.Media.Imaging.BitmapSizeOptions.FromWidthAndHeight(32, 32));
            this.Icon = myImage.Source;

Черт, на этот код рожает исключение "ImageSource for Icon property must be an icon file."
Что в принципе довольно-таки логично, так как пока WPF отвечает за прорисовку только клиентской части окна (заголовок и рамку рисует винда).
Придется, видать, все иконки в ресурсы кидать или на целевой винде искать (где-то они храниться должны)

Цитата:
а сохранять картинку каждый раз при вызове окна - глупость

А зачем каждый раз? Один раз при инсталляции, ну или совсем на крайняк при запуске
LuckyStrike

Цитата:
Прямоугольник определенного цвета мне не надо

А чего же, уважаемый, вам надо? Судя по сему коду
Код:
for (int x = 0; x < B.Width; x++)  
                    for (int y = 0; y < B.Height; y++)  
                    {  
                        Color c = B.GetPixel(x, y);  
                        byte p = (byte)(c.R + avsscroll[0].Value);  
                        byte q = (byte)(c.G + avsscroll[1].Value);  
                        byte r = (byte)(c.B + avsscroll[2].Value);  
                        B.SetPixel(x, y, Color.FromArgb(p, q, r));  
                    }

вы каждый пиксел изображения закрашиваете одним цветом, логично закрасить всю картинку одноцветным прямоугольником, что будет гораздо быстрее. Ну не знаю я, что такое этот ваш "Фотошоп". А если вам нужно все красные пикселы на картинке заменить на зеленые (например), то стоило так и написать. На это обратите внимание:
http://habrahabr.ru/blogs/net/60085/
http://habrahabr.ru/blogs/net/60175/
 
Добавлено:
deadsy
Вот так

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 09:38 28-05-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
А ти мне бы не мог подкинуть пару ссылочек с кодами, мне нужно еще написать увелечение, уменьшение картинки и кадрирование(то есть вырезать определенный кусок из картинки)

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 19:39 28-05-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike

Цитата:
мне нужно еще написать увелечение, уменьшение картинки

Имеется в виду изменение размеров или масштабирование?  
По поводу попиксельных операций вот пример. Если его немного доработать, то его можно будет применять для выделения части изображения (в том числе и вырезания) для последующей обработки

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 13:11 29-05-2009
May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
deadsy
Господа Гуру, подскажите,
как можно на C# снять скриншот с компонента наследника от Control
и загрузить его в компонент PictureBox не используя временных файлов (ну к примеру пользуясь MemoryStream'ами) ?

 
 
 Почитай http://coder89.habrahabr.ru/blog/58806/
только надо будет самому вычислить координаты конрола, и вырезать его из скриншота

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 18:03 29-05-2009 | Исправлено: May_Johnson, 18:06 29-05-2009
deadsy



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 Почитай http://coder89.habrahabr.ru/blog/58806/
только надо будет самому вычислить координаты конрола, и вырезать его из скриншота

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

Всего записей: 44 | Зарегистр. 05-08-2004 | Отправлено: 22:24 29-05-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Добавлено:  
deadsy  
Вот так

Это-то чем не устраивает? И сразу в объект Bitmap сохраняет. Рисуй где хочешь

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 13:58 30-05-2009 | Исправлено: Omicron_Persey_8, 13:59 30-05-2009
085



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чтобы в mssql server пароль мог быть и цифрой и текстом надо ставить sqlvariant ? Просто до того когда проект скомилится ещё долго и немогу сам глянуть

Всего записей: 79 | Зарегистр. 17-09-2008 | Отправлено: 10:33 31-05-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
млин....я никак не соображу....помогите, нужен код для изменения цвета в картинки, как в фотошопе, например изменение RGB цветов, то есть больше допустим красного, меньше зелённого и т.п. и масштабирование картинки увеличить, уменьшать

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 14:50 05-06-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike

Цитата:
 нужен код для изменения цвета в картинки, как в фотошопе, например изменение RGB цветов, то есть больше допустим красного, меньше зелённого и т.п. и масштабирование картинки увеличить, уменьшать

Это сколько угодно. Качаешь прогу Paint.NET, декомпилируешь Reflector'ом и выбираешь код, который тебе нужен.
А если серьезно, то почти все, что нужно есть здесь.  
Вот мой вариант. Оно?

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 18:50 05-06-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сори, а что за Reflector...первый раз слышу?) ^_^
 
Добавлено:
я тоже подумал насчет Paint.Net...мне как раз вроде него надо, тока немного попроще, тока код найти никак не могу, Omicron_Persey_8
если надешь, пришли ссылку пожалуйста
 
Добавлено:
я тоже подумал насчет Paint.Net...мне как раз вроде него надо, тока немного попроще, тока код найти никак не могу, Omicron_Persey_8
если надешь, пришли ссылку пожалуйста
 
Добавлено:
Omicron_Persey_8
у меня чет не получаеться твой файл скачать....через че качать?
 
Добавлено:
Omicron_Persey_8
А помоги вытащить код из paint.net масштабирования, я чет ищу ненайду((

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 18:53 05-06-2009
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike
http://www.getpaint.net/download.html

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 00:01 06-06-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задал вопрос уровня чайника и сам нашел ответ. Сначала хотел совсем удалить пост, но решил оставить...
 
Как в VS2008 создать свой шаблон под .NET 2.0?
 
Создаем новый проект Windows Forms Application. Сохраняем.
Заходим в настройки. Меняем "Target Framework" на ".NET Framework 2.0"
Появляются 4 предупреждения.
Щелкаем по 3-ей и 4-ой ошибке, попадаем в Solution->References и отсюда удаляем глюкнувшие System.Data.DataSetExten и System.Xml.Linq
Пытаемся откомпилировать (F6). Появяться 2 ошибки.
Щелкаем по ошибкам и удаляем "using System.Linq;" из Program.cs и Form1.cs
Проверям компиляцию (F6). Ушибок быть не должно.
Создаем шаблон (File->Export Template...)
На 1-ой странице выбираем Project template
На 2-ой заполняем имя шаблона без цифр в конце! И не забываем про описание.
 
 
Как VS2008 в удалить пользовательский шаблон?
 
Файлы шаблонов хранятся здесь:
c:\Documents and Settings\%USER%\My Documents\Visual Studio 2008\Templates\ProjectTemplates\
c:\Documents and Settings\%USER%\Application Data\Microsoft\VCSExpress\9.0\ProjectTemplatesCache\
Чтобы снести шаблон достаточно удалить соответствующий файл в первой папке. Но вторую папку тоже неплохо бы почистить.
Добавлено:
Тут лежит копия шаблона:
c:\Documents and Settings\%USER%\My Documents\Visual Studio 2008\My Exported Templates\
Тут может лежать резевная копия:
c:\Documents and Settings\%USER%\My Documents\Visual Studio 2008\Backup Files\

Всего записей: 10551 | Зарегистр. 05-02-2003 | Отправлено: 10:35 06-06-2009 | Исправлено: V0lt, 12:47 06-06-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike

Цитата:
сори, а что за Reflector...первый раз слышу

Это декомпилятор .NET сборок в исходный код. В свое время был бесплатный, но я мыслю, с кряком проблем не возникнет. Живет тут

Цитата:
А помоги вытащить код из paint.net масштабирования, я чет ищу ненайду((

Уважаемый, ты - садист. Попросил бы еще вытащить код масштабирования из Фотошопа  

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 11:23 06-06-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
Вот именно что не садист)) был бы садистом, просил бы про фотошоп))
 
Добавлено:
Omicron_Persey_8
Оооо...слушай, шеф, спасибо тебе за код)) я так понял ти брал матрицу цветов (зеленая) и менял зелённый цвет, а какая матрица красного и синего?)))
 
Добавлено:
и еще вопрос....вот код
private void button1_Click(object sender, EventArgs e)
        {  
            if (openFileDialog1.ShowDialog() == DialogResult.OK)  
                                              //если в окне диалога был выбран файл  
            {
                string s = openFileDialog1.FileName;  
                               // в переменную s запоминаем название выбранного файла
                StreamReader sr = new StreamReader(s);
                      //создаем новый объект StreamReader и передаем ему переменную s
                richTextBox1.Text = sr.ReadToEnd();    
                                   //Читаем весь файл и записываем его в richTextBox1
                sr.Close();     // Закрываем поток
            }
        }
здесь мы открываем файл и то что в файле записываеться в richtextbox, как сделать тоже самое с картинкой, что бы открывать и сразу он в picturebox открывалась или на panel?
 
Добавлено:
все...насчет последнего вопроса я разобрался)

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 19:20 06-06-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike

Цитата:
как сделать тоже самое с картинкой, что бы открывать и сразу он в picturebox открывалась или на panel?

как-то так

Код:
pictureBox1.Image = Image.FromFile(@"c:\WINDOWS\Web\Wallpaper\Bliss.bmp");

Всего записей: 10551 | Зарегистр. 05-02-2003 | Отправлено: 23:22 06-06-2009 | Исправлено: V0lt, 23:24 06-06-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike

Цитата:
Оооо...слушай, шеф, спасибо тебе за код)) я так понял ти брал матрицу цветов (зеленая) и менял зелённый цвет, а какая матрица красного и синего?)))

А я почему-то думал, что игрался с интенсивностью красного канала... Ну ладно. Цветовая матрица имеет вид:
R 0 0 0 0
0 G 0 0 0
0 0 B 0 0
0 0 0 A 0
0 0 0 0 1
где R, G, B, A соответственно красный, зеленый, синий и альфа-каналы. Только здесь используется диапазон от 0 до 1, а не 0..255. Матрица цветов похожа на матрицу афинных преобразований, потому и функциональность схожая. Нарисованая мной матрица масштабирования для цвета означает руление интенсивностью определенного цветового канала. Чего делают матрицы поворота и перемещения - не разбирался, но наверно что-то полезное.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 12:22 07-06-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
Спасибо)

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 15:37 07-06-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!) А не подскажет ли кто-нибудь, как реализовать рисование как в Paint, то есть рисую прмоугольники, овалы и линии сам в pictureBox, нажмить мышкой и двигать и чтобы рисонук за мышкой тянулся.....как это сделать?) покажите плиз пару примерчиков)

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 06:54 08-06-2009
Skyer1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, уже писал здесь со своей темой, задачу я решил, но нужна ваша помощь в оптимизации кода. (программа полностью работает)
 Создать класс Student с методом PassExam.
Метод должен "возвращать" оценку, полученную студентом на экзамене,  
и булевый флаг - списывал студент или нет.
 
Затем, реализовать 5 наследников класса Student, каждый из которых  
будет оверрайдить метод PassExam своей собственной реализацией.// Вот по этому немного незнаю, что можно сделать
 
Затем, создать случайным образом коллекцию из 20 студентов-наследников,
вызвать для каждого метод PassExam, получить статистику оценок  
(вывести на консоль сколько каких оценок было получено)  
и вывести на консоль процент списывавших студентов.
 

Код:
namespace lab1u
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 0,i,t;
            const int n = 10;
            int[] ex = new int[n]; //Экзамен
            int[] sp = new int[n]; //%списывавших
            Student[] arr = new Student[n];                        
            Random r = new Random();
            for (i = 0; i < n; i++) {
                t = r.Next(5);
                if (t == 0) { arr[i] = new St1(); }
                if (t == 1) { arr[i] = new St2(); }
                if (t == 2) { arr[i] = new St3(); }
                if (t == 3) { arr[i] = new St4(); }
                if (t == 4) { arr[i] = new St5(); }
            }
            for (i = 0; i < n; i++) {
                ex[i] = arr[i].Examen(ref a);
                sp[i] = a;
            }
            for (i = 0; i < n; i++)
            {
                System.Console.WriteLine("{0} Оценка  {1}", ex[i], sp[i]);
            }
            int o2=0, o3=0, o4=0, o5=0,s=0;
            for (i = 0; i < n; i++)  
            {
                if (ex[i] == 2) o2 += 1;
                if (ex[i] == 3) o3 += 1;
                if (ex[i] == 4) o4 += 1;
                if (ex[i] == 5) o5 += 1;
                if(sp[i]==1)s+=1;  
            }
            System.Console.WriteLine("{0} Студенты получили 2", o2);
            System.Console.WriteLine("{0} Студенты получили 3", o3);
            System.Console.WriteLine("{0} Студенты получили 4", o4);
            System.Console.WriteLine("{0} Студенты получили 5", o5);
            System.Console.WriteLine("{0}% Списало", s * 100 / n);                
            System.Console.Read();
        }
    }
    abstract class Student
    {
        static public Random r = new Random();
        static public Random n = new Random();
        public abstract int Examen(ref int a);
    }
    class St1 : Student
    {
        public override int Examen(ref int a)
        {
            a = r.Next(2);
            return n.Next(4) + 2;
        }
        public string name = "Student 1";        
    }
    class St2 : Student
    {
        public override int Examen(ref int a)
        {
            a = r.Next(2);
            return n.Next(4) + 2;
        }
        public string name = "Student 2";        
    }
    class St3 : Student
    {
        public override int Examen(ref int a)
        {
            a = r.Next(2);
            return n.Next(4) + 2;
        }
        public string name = "Student 3";        
    }
    class St4 : Student
    {
        public override int Examen(ref int a)
        {
            a = r.Next(2);
            return n.Next(4) + 2;
        }
        public string name = "Student 4";        
    }
    class St5 : Student
    {
        public override int Examen(ref int a)
        {
            a = r.Next(2);
            return n.Next(4) + 2;
        }
        public string name = "Student 5";        
    }
}

Всего записей: 38 | Зарегистр. 02-11-2008 | Отправлено: 12:33 08-06-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, плиз..помогите...вот написал код для изменении картинки цветов RGB, которая находиться в pictureBox...но как-то не аккуратно работает((( просмотрите плиз
вот:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
namespace PhotoLom
{
    public partial class Form3 : Form
    {
         
        protected Image image;
 
        public Form3()
        {
            InitializeComponent();
        }
 
        private void Form3_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button3_Click(object sender, EventArgs e)изменение зелёного
        {
            ImageAttributes ia = new ImageAttributes();
            float[][] matrix = {
                new float[] { (float)vScrollBar2.Value/255.0f, 0, 0, 0, 0 },
                new float[] {0, 0, 0, 0, 0},
                new float[] {0, 1, 0, 0, 0},
                new float[] {0, 0, 0, 0, 0},
                new float[] {0, 0, 0, 1, 0},
                new float[] {0, 0, 0, 0, 1} };
            ColorMatrix cm = new ColorMatrix(matrix);
 
 
            ia.SetColorMatrix(cm);
 
            Bitmap bmp = new Bitmap(pictureBox1.Image);
            Graphics g = Graphics.FromImage(bmp);
 
            g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, ia);
 
            pictureBox1.Image = (Image)bmp;
        }
 
        private void button4_Click(object sender, EventArgs e)//изменение синего
        {
            ImageAttributes ia = new ImageAttributes();
            float[][] matrix = {
                new float[] { (float)vScrollBar3.Value/255.0f, 0, 0, 0, 0 },
                new float[] {0, 0, 0, 0, 0},
                new float[] {0, 0, 0, 0, 0},
                new float[] {0, 0, 1, 0, 0},
                new float[] {0, 0, 0, 1, 0},
                new float[] {0, 0, 0, 0, 1} };
            ColorMatrix cm = new ColorMatrix(matrix);
 
 
            ia.SetColorMatrix(cm);
 
            Bitmap bmp = new Bitmap(pictureBox1.Image);
            Graphics g = Graphics.FromImage(bmp);
 
            g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, ia);
 
            pictureBox1.Image = (Image)bmp;
        }
 
        private void button2_Click_1(object sender, EventArgs e) //изменение красного
        {
            ImageAttributes ia = new ImageAttributes();
            float[][] matrix = {
                new float[] { (float)vScrollBar1.Value/255.0f, 0, 0, 0, 0 },
                new float[] {1, 0, 0, 0, 0},
                new float[] {0, 1, 0, 0, 0},
                new float[] {1, 0, 0, 0, 0},
                new float[] {0, 0, 0, 1, 0},
                new float[] {1, 0, 0, 0, 1} };
            ColorMatrix cm = new ColorMatrix(matrix);
 
 
            ia.SetColorMatrix(cm);
 
            Bitmap bmp = new Bitmap(pictureBox1.Image);
            Graphics g = Graphics.FromImage(bmp);
 
            g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, ia);
 
            pictureBox1.Image = (Image)bmp;
        }    
 
        }
       
    }
}

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 22:30 08-06-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru