Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 11:54   #1
Syn-McJ
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 11
По умолчанию Определение цвета пикселя

Нашёл функцию GetPixel, но как она работает так и не понял (да, знаю, я балбес).
В общем, есть к примеру такой простенький исходный код (работаю в C++ Builder 6):
Код:
//------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

#include <math.h>

//------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//------------------------------------------------------------------------
int maxX, maxY;
void __fastcall TForm1::Button1Click(TObject *Sender)
{

        Form1->Image1->Canvas->Pen->Color = clRed;
        Form1->Image1->Canvas->MoveTo(200,200);
        Form1->Image1->Canvas->LineTo(400,400);

 }
Ф
И нужно определить цвет пикселя, ну например 300,300 (он ведь находится на линии? ). Ну и, соответственно, нужна переменная для сохранения этого цвета и для последующего сравнения.
В программировании графики я неочень, так что подскажите, пожалуйста, как это реализовать относительно кода, что я привёл.
Syn-McJ вне форума Ответить с цитированием
Старый 29.05.2010, 12:14   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
TColor col = Form1 -> Image1 -> Canvas -> Pixels[300][300];
clRed - одна из предопределенных констант для TColor, а вообще он имеет формат такой - 0x00BBGGRR. RR - байт, отвечающий за красную составялющую в системе RGB, GG - байт, отвечающий за зеленую, BB - за синюю. Вообще-то вместо 00 может быть еще 01 и 02, но это уже тонкости, которые обычно не нужны.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 29.05.2010, 15:27   #3
Syn-McJ
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 11
По умолчанию

Огромное спасибо, всё получилось, я спасён =)
Syn-McJ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение цвета пикселя sysl Общие вопросы Delphi 2 07.03.2010 20:36
Установка цвета пикселя Артэс Win Api 14 25.07.2009 11:38
Определение цвета конкретного пикселя в монохромном bitmap'е Cannibal Мультимедиа в Delphi 3 21.02.2009 13:46
Вот навоял: Определение цвета пикселя на DeskTop'e Comer_Jus Софт 3 21.05.2008 16:20
Определение цвета пикселя Artem Общие вопросы Delphi 8 13.07.2007 14:33