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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Смена картинок 
:(
    Опции темы
DenWPF
Дата 15.2.2010, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



http://www.kumz.ru/
вот надо сделать примерно такуюже смену картинок по скорости и в общем..
я использую GDI.
вообще картинка рисуется DrawImage
PM MAIL   Вверх
nmn
Дата 15.2.2010, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

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



там изменяется прозрачность картинки, причем с довольно таки большим шагом, используй двойной буфер
PM Skype   Вверх
Dobermann
Дата 15.2.2010, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

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



Рой в сторону Microsoft.JScript
PM   Вверх
DenWPF
Дата 15.2.2010, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата(Dobermann @ 15.2.2010,  17:31)
Рой в сторону Microsoft.JScript

Причем тут это?


используй двойной буфер - а вот это как?

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

Это сообщение отредактировал(а) DenWPF - 15.2.2010, 17:55
PM MAIL   Вверх
nmn
Дата 15.2.2010, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

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



Цитата(DenWPF @  15.2.2010,  17:53 Найти цитируемый пост)

используй двойной буфер - а вот это как?


http://msdn.microsoft.com/en-us/library/sy...lebuffered.aspx

PM Skype   Вверх
DenWPF
Дата 15.2.2010, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Смысл его понял, но не догнал зачем его использовать.
PM MAIL   Вверх
nmn
Дата 15.2.2010, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

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



не будет мигания при перерисовке
PM Skype   Вверх
DenWPF
Дата 15.2.2010, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



так что перерисовывать ? 
я же это и не понял.
PM MAIL   Вверх
nmn
Дата 15.2.2010, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

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



картинки
PM Skype   Вверх
DenWPF
Дата 15.2.2010, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



 smile 
я понял что картинки..но как..
надо же менять их прозрачность или что?
PM MAIL   Вверх
nmn
Дата 15.2.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

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



да менять прозрачность
но как именно менять могу подсказать только в общем, либо используй GDI+, либо придется вручную пересчитывать для каждого пиксела значение цвета с учетом прозрачности и цвета под пикселом
в связи с тем что в .net по умолчанию используется GDI+ следует посмотреть как это можно сделать используя GDI+
PM Skype   Вверх
DenWPF
Дата 15.2.2010, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



хм, каждый пиксель это тема...но думаю есть готовый вариант..ладно ищу.
PM MAIL   Вверх
bango
Дата 21.3.2010, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 29.9.2009

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



Привет, раньше программы писал builer 6 С++ вот код
    #define FBANER "risk_1.bmp"//
    #define NKADR 6 //
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    baner = new Graphics::TBitmap();
    baner->LoadFromFile(FBANER);     // загрузить баннер
    h = baner->Height;
    w = baner->Width / NKADR;
    scr = Rect(10,10,10+w,10+h); // положение и размер области воспроизведения баннера
    kadr = Rect(0,0,w,h);        // положение и размер первого кадра в баннере
}
Подскажите как переписать. Не смейтесь сильно перешел на С# совсем не давно помогите чайнику плиз. smile

Добавлено через 3 минуты и 26 секунд
Забыл 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
       if  (c < NKADR)
    {
        // воспроизводимый в данный момент
        // кадр не последний
        c++;
        kadr.Left += w;
        kadr.Right += w;
    }
    else
    {
        c = 0;
        kadr.Left = 0;
        kadr.Right = w;
    }  

PM MAIL   Вверх
nmn
Дата 21.3.2010, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

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



Цитата(bango @ 21.3.2010,  15:24)
Привет, раньше программы писал builer 6 С++ вот код
    #define FBANER "risk_1.bmp"//
    #define NKADR 6 //
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    baner = new Graphics::TBitmap();
    baner->LoadFromFile(FBANER);     // загрузить баннер
    h = baner->Height;
    w = baner->Width / NKADR;
    scr = Rect(10,10,10+w,10+h); // положение и размер области воспроизведения баннера
    kadr = Rect(0,0,w,h);        // положение и размер первого кадра в баннере
}
Подскажите как переписать. Не смейтесь сильно перешел на С# совсем не давно помогите чайнику плиз. smile

Добавлено @ 15:27
Забыл 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
       if  (c < NKADR)
    {
        // воспроизводимый в данный момент
        // кадр не последний
        c++;
        kadr.Left += w;
        kadr.Right += w;
    }
    else
    {
        c = 0;
        kadr.Left = 0;
        kadr.Right = w;
    }

Код

using System.Graphics;
const int NKADR=6;
public NewForm()
{
  InitializeComponent();
   Bitmap baner = new Bitmap("risk_06.bmp");
    int h = baner.Height;
    int w = baner.Width / NKADR;
    Rectange scr = new Rectangle(10,10,10+w,10+h); // положение и размер
    Rectangle kadr = new Rectangle(0,0,w,h);        // положение и размер 
}

public void Timer1Timer(object obj)
{
       if  (c < NKADR)
    {
        // воспроизводимый в данный момент
        // кадр не последний
        c++;
        kadr.Left += w;
        kadr.Right += w;
    }
    else
    {
        c = 0;
        kadr.Left = 0;
        kadr.Right = w;
    }


как то так
PM Skype   Вверх
bango
Дата 21.3.2010, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 29.9.2009

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



Вот здесь пишет что синтаксис не верный
Код

using System.Graphics;
const int NKADR=6;

я делал вот так
Код

        // область, в которой находится картинка
           Rectangle rct;
        // рабочая графическая поверхность
           System.Drawing.Graphics g;
            // g - графическая поверхность, на которой
            // будем формировать рисунок.
            // в качестве поверхности
            // будем использовать BackgroundImage формы
            g = Graphics.FromImage(BackgroundImage);
            g.DrawImage(baner, rct.X, rct.Y);

что не пойму в чем проблемма.

PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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