Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> статус обработки изображения, ProgressBar для обработки изображения  
V
    Опции темы
godvinn
Дата 13.4.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: нет
Всего: 1



Здравствуйте. Есть у меня следующий вопрос:

есть у меня код(это с библиотеки AForse) для применения фильтра к изображению     

Код

 GaussianBlur filter = new GaussianBlur();
 filter.Sigma = 15;
 filter.Size = 15;
 filteredImg = filter.Apply(img);
 pictureBox.Image = filteredImg;


но он немного работает с замедлением, как мне сделать чтобы когда пользователь применения эффект 
выводился ProgressBar и показівал статус обработки изображения и когда полностью обработаеться изображение он исчезал *?  


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
-Mikle-
Дата 13.4.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Я не работал с этой библиотекой, но если в ней предусмотренных средств нет, то верным решением будет показать пользователю окошко с надписью: "Это может занять некоторое время, пожалуйста ждите..." и разместить анимированную иконку на форме или прогрессбар со свойством установленным в Marquie. А filter.Apply(img) запустить в отдельном потоке с синхронизацией с основным потоком.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
godvinn
Дата 13.4.2009, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: нет
Всего: 1



-Mikle-, а пример привести можешь*?  smile 


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
-Mikle-
Дата 13.4.2009, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Да, конечно.
Создаешь форму и называешь ее LongAction. Далее кидаешь на нее Label с нужной надписью и ProgressBar. В дизайнере у ProgressBar ставишь свойство Style = Marquee. потом вставляешь статический метод Start в форму:
Код

    public partial class LongAction : Form
    {
        // метод Start
        public static void Start(Action action)
        {
            LongAction form = new LongAction();
            action.BeginInvoke(delegate { form.Invoke((Action)delegate { form.Close(); }); }, null);
            form.ShowDialog();
        }

        // это уже есть по умолчанию
        public LongAction()
        {
            InitializeComponent();
        }
    }


И все! Использовать можно так:
Код

        private void button1_Click(object sender, EventArgs e)
        {
            GaussianBlur filter = new GaussianBlur();
            filter.Sigma = 15;
            filter.Size = 15;

            LongAction.Start(
                delegate
                {
                    filteredImg = filter.Apply(img);
                });

            pictureBox.Image = filteredImg;
        }



--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
godvinn
Дата 13.4.2009, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: нет
Всего: 1



-Mikle-,  я сделал не форму а AboutBox

а можно ли убрать в  AboutBox кнопку закрытия (смотрите прикреплением файле ).
Потому что если пользователь закрывает AboutBox вываливаеться ошибка. 
Если можно то подскажите как *?  

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  1.JPG 6,54 Kb


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
-Mikle-
Дата 13.4.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



AboutBox это тоже форма, причем ничем не отличающаяся от просто формы. И, как у любой другой формы, в дизайнере свойство ControlBox = False выключит твою кнопочку.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
godvinn
Дата 13.4.2009, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: нет
Всего: 1



-Mikle-, спасибо огромное! smile 


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.1292 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.