forum.rastrnet.ru

forum.rastrnet.ru (http://forum.rastrnet.ru/index.php)
-   Программируем (http://forum.rastrnet.ru/forumdisplay.php?f=35)
-   -   Delphi (http://forum.rastrnet.ru/showthread.php?t=6770)

Chamal 06.07.2005 13:29

Delphi
 
Вопрос по дельфи:

Необходимо индекс цвета разложить на 3 составляющие (RGB);
Есть обратная функция - RGB(r,g,b);
Есть функция ColorToRgb() но она возвращает одну переменную типа Longint.

Ранше помню точно делал, а сейчас забыл хоть убей...
Please HELP.

Fenix 07.07.2005 07:20

Цитата:

Сообщение от Chamal
Вопрос по дельфи:

Необходимо индекс цвета разложить на 3 составляющие (RGB);
Есть обратная функция - RGB(r,g,b);
Есть функция ColorToRgb() но она возвращает одну переменную типа Longint.

Ранше помню точно делал, а сейчас забыл хоть убей...
Please HELP.

Вот разложение на спектральные составляющие:
r:=GetRValue(цвет)
g:=GetGValue(цвет)
b:=GetBValue(цвет)

Chamal 10.07.2005 21:52

Вопрос второй:
 
Имеется целочисленная матрица.
Допустим она хранит какое то изображение.
Вопрос :
Как быстро вывести её на экран, не создавая никаких циклов...
Может есть какая процедурка?...(не затрагивая OpenGL)

COBEHOK 11.07.2005 14:31

Цитата:

Сообщение от Chamal
Имеется целочисленная матрица.
Допустим она хранит какое то изображение.
Вопрос :
Как быстро вывести её на экран, не создавая никаких циклов...
Может есть какая процедурка?...(не затрагивая OpenGL)

Переводишь в битмап и выводишь через BitBlt. Если скорости будет не хватать (игрушку если делаешь и нужно экран быстро рисовать), то копаешь в сторону DirectDraw

Chamal 12.07.2005 00:21

а можно на пальцах?
как перевести и т.д...?

COBEHOK 12.07.2005 15:29

А откуда я знаю как перевести :) Это же твоя матрица. Откуда ты ее берешь? Если генерируешь - это одно, А если с диска грузишь или из ресурсов, то лучше ее предварительно перегнать в битмап и грузить уже его.

Chamal 15.07.2005 01:25

дак вот в этом и вопрос. матрица генерируется. Если её выводить попиксельно то получается медленно, необходимо быстро.

COBEHOK 15.07.2005 09:05

Генерируй сразу в битмап и парься

ShAD 18.07.2005 04:56

Программирование создает свет всего несколькими словами. Ligtht.Visible := True :)
 
Цитата:

Сообщение от Chamal
дак вот в этом и вопрос. матрица генерируется. Если её выводить попиксельно то получается медленно, необходимо быстро.

обсолютно согласен что генерить надо в битмап. Тока на хард не сейви после каждого пикселя =)

ShAD 18.07.2005 04:57

2Chamal: скажи че пишешь, мож помогу дописать, а то бездельем маюсь =)

Chamal 29.08.2005 23:45

Необходимо имитировать нажатие кнопки мыши.
Перемещение осуществляется с помощью setcursorpos(x,y);
А нажатие, с помошью SendMessage.....(чё то типа системных сообщений).
Но как конкретно не знаю.... Подскажите, кто в курсе.

COBEHOK 31.08.2005 18:06

Цитата:

Сообщение от Chamal
Необходимо имитировать нажатие кнопки мыши.
Перемещение осуществляется с помощью setcursorpos(x,y);
А нажатие, с помошью SendMessage.....(чё то типа системных сообщений).
Но как конкретно не знаю.... Подскажите, кто в курсе.

Тебе нужно чтобы послать имитацию в другое приложение или для своего?
Полная имитация нажатия и всего остального для виндовоза (синтаксис сишный):
Код:

UINT SendInput(UINT nInputs, LPINPUT pInputs, int cbSize);
nInputs [in] Specifies the number of structures in the pInputs array.
pInputs [in] Pointer to an array of INPUT structures. Each structure represents an event to be inserted into the keyboard or mouse input stream.
cbSize  [in] Specifies the size, in bytes, of an INPUT structure. If cbSize is not the size of an INPUT structure, the function will fail.

Если в свое окошко то сообщение WM_LBUTTONDOWN - нажали левую кнопку
WM_LBUTTONUP - отпустили левую кнопку
WM_LBUTTONDBLCLK - дабл-клик левой кнопкой

Chamal 19.10.2005 01:08

Вопрос:
Нужно в дельфи работа с буфером клавиатуры с возможностью редактирования.
Подскажите как это реализуется?

FATALITY 19.06.2007 20:47

Вопрос:
Как сделать чтобы прога не отображалась в диспетчере задач и не выключалась комбинацие alt+f4.Ил просто блокировать ето сочетание.


Текущее время: 04:34. Часовой пояс GMT +7.

Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot

Форум открыт в июле 2004 г.