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

Ваш аккаунт

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

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

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

TColor в Integer

434
01 марта 2005 года
Poltos
105 / / 18.08.2004
Помогите преобразовать TColor в Integer. При попытке присваения происходит ошибка...

Пример:

var
i: integer;
...
i:= Image1.Canvas.Pixels[1,1];
:???:
259
01 марта 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Poltos
Помогите преобразовать TColor в Integer. При попытке присваения происходит ошибка...

Пример:

var
i: integer;
...
i:= Image1.Canvas.Pixels[1,1];
:???:



enum TColor {clMin=-0x7fffffff-1, clMax=0x7fffffff};
Как Вы могли заметить TColor это два слова а не одно. Поэтому к Integer его можно привести только с потерями. Это Вам не С батенька.

434
01 марта 2005 года
Poltos
105 / / 18.08.2004
Цитата:
Originally posted by AlexandrVSmirno


enum TColor {clMin=-0x7fffffff-1, clMax=0x7fffffff};
Как Вы могли заметить TColor это два слова а не одно. Поэтому к Integer его можно привести только с потерями. Это Вам не С батенька.



Понятно, в таком случае можно и в массив из Integer[2] =)

10
01 марта 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Poltos
Понятно, в таком случае можно и в массив из Integer[2] =)


Что за глупости? sizeof(TColor) = 4!

259
01 марта 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Poltos


Понятно, в таком случае можно и в массив из Integer[2] =)


А зачем? Ведь есть двойное слово

DWORD represents a four-byte unsigned integer.

Unit

Types (Delphi) or WinTypes (C++)

Delphi syntax:

type DWORD = Longword;

C++ syntax:

typedef unsigned long DWORD;

Description

DWORD (double word) represents a four-byte unsigned integer. It is used primarily for Windows API calls. The C++ version is only defined on Windows.

434
01 марта 2005 года
Poltos
105 / / 18.08.2004
Такое происходит только когда загружен *.jpg, а с *.bmp такой проблемы нет.

Вот и фиг знает что делать... мне нужно с jpg работать...
259
01 марта 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Poltos
Такое происходит только когда загружен *.jpg, а с *.bmp такой проблемы нет.

Вот и фиг знает что делать... мне нужно с jpg работать...


Ну так и используй DWORD. (см. предыдущий пост.)

368
01 марта 2005 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by Poltos
Такое происходит только когда загружен *.jpg, а с *.bmp такой проблемы нет.


Так и должно быть. :)
Нужно поставить TImage прямо на форму(в крайнем случае на TBevel), и
i:= Canvas.Pixels[Image1.Left+1,Image1.Top+1];

C точки зрения TColor между Integer и DWORD никакой разницы нет.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог