Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вывод на екран(не на форму) пикселей.

36K
09 июля 2008 года
micro-electric
14 / / 07.07.2008
Подскажите как можно зделать вывод пикселей на екран в Билдере, чтобы можно было нарисовать на екране что-то красивое :)))

любыми способами.
зарание спасибо!
3.7K
10 июля 2008 года
0nni
326 / / 24.06.2008
И главное всем надо что-то рисовать на экране.:mad: а ты хороше искал по этой теме?
7.2K
10 июля 2008 года
polaroid
94 / / 05.07.2008
хмм:D На экран? Понятие слишком расплывчивое. Если ты имеешь ввиду рисование на рабочем столе, тогда копай в сторону Windows GUI. Если же хочешь как в играх рисовать, тогда копай в сторону DirectDraw. Также существует полно компонентов на VCL для этого. Например PowerDraw и т.д
36K
10 июля 2008 года
micro-electric
14 / / 07.07.2008
хочу запрограмировать програму чтобы она рисовала на екране, без моего вмешательства
3.7K
10 июля 2008 года
0nni
326 / / 24.06.2008
Сильно :cool:
Если я скажу тебе что есть такая функция GetDC() которую нужно вызвать с параметром "0" и результат установить в качестве DeviceContext для выводе чере GDI что ты будешь делать?
Или ты рисуешь только на канве? тогда тебе надо создать объект TСanvas и указать в качества handle - GetDC(0), затем рисовать, и затем удалять Canvas.

Зы. ни одна моя программа без моего участия пока графику не выводила :D
36K
10 июля 2008 года
micro-electric
14 / / 07.07.2008
скажи мне как зделать "выводе через GDI"
для начала можеш розяснить как вывести например чорный пиксель по координатам 100х100, а дальше както сам розберусь ))
3.7K
10 июля 2008 года
0nni
326 / / 24.06.2008
Я пишу на паскале ну ты думаю разберешься, но впредь смотри вопросы вначале в FAQ!!!:
 
Код:
DC := GetDС(0)
 SetPixel(DC, 100, 100, $000000);
ReleaseDС(0, DC)


Если знаешь Handle окна, то можешь указать его в качестве "0" в GetDc и ReleaseDc.
А $000000 это феснацетеричное число кажется 0x000000 по вашему.
3.7K
10 июля 2008 года
0nni
326 / / 24.06.2008
А для определения размера экрана можешь воспользоваться GetSystemMetrics() - SM_CXSCREEN, SM_CYSCREEN
36K
10 июля 2008 года
micro-electric
14 / / 07.07.2008
я в билдер попробувал перевести
вот что получилось:
-----
HDC hdc;
HWND hWnd;
SetPixel(hdc, 100, 100, 0x000000);
ReleaseDC(hWnd,hdc);
-----
но оно не работает...
:(
288
10 июля 2008 года
nikitozz
1.2K / / 09.03.2007
Читай описание API функций GDI, или если собираешься использовать VCL, не парься и рисуй на канве. По-моему намного удобней.
36K
10 июля 2008 года
micro-electric
14 / / 07.07.2008
кто-то может выложить кусок кода(работающего), потому, что я не писовал никогда ничего... :(((
3.7K
10 июля 2008 года
0nni
326 / / 24.06.2008
Цитата: micro-electric
я в билдер попробувал перевести
но оно не работает...
:(


А чему у тебя hdc равно? что ты передаешь, а hWnd, если тебе так хочется инициализируй как ноль

Надо вот так

 
Код:
HDC hdc;
[COLOR="Red"]HWND hWnd = 0;[COLOR="Teal"]//помоему так нужно (если что поправь)[/COLOR]
hdc = GetDC(hWnd);[/COLOR]
SetPixel(hdc, 100, 100, 0x000000);
ReleaseDC(hWnd,hdc);


Только точка оч маленькая, лучше запусти в цикле
288
10 июля 2008 года
nikitozz
1.2K / / 09.03.2007
Собственно код, рисующий прямоугольник на экране

С использованием VCL
 
Код:
TCanvas *pCanvas = NULL;

    pCanvas = new TCanvas();
    pCanvas->Handle = GetWindowDC( GetDesktopWindow() );

    pCanvas->Rectangle(10, 10, 500, 500);

    pCanvas->Free();


И с использованием Windows GDI
 
Код:
HDC hDC = NULL;
    hDC = GetWindowDC( GetDesktopWindow() );

    Rectangle(hDC, 10, 10, 500, 500);

    ReleaseDC(GetDesktopWindow(), hDC);
36K
11 июля 2008 года
micro-electric
14 / / 07.07.2008
если не трудно, зделайте исходник чтобы разобратся
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог