Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Вниз

Как отрыть файл BMP в виде цифровой таблице?   Найти похожие ветки 

 
Vladimir1984 ©   (2006-12-17 19:53) [0]

Как отрыть файл BMP в виде цифровой таблице?


 
Virgo_Style ©   (2006-12-17 20:07) [1]

поподробнее, пожалуйста, что конкретно нужно и что именно неясно.


 
Правильный Вася   (2006-12-17 20:38) [2]

в руническом виде прикольнее


 
Vladimir1984 ©   (2006-12-17 20:54) [3]

файл bmp 100 на 100, для карты высот(OpenGL) по HSL шкале...
Нужно чтобы при открытии появлялась таблица,данные в которой в соответствуют фалу бмп, тоесть например А1(первый столбец, первая строка) пиксель красного цвета = числовому значению 5,и в ячейке таблицы А1 прописываеся 5...


 
ProgRAMmer Dimonych ©   (2006-12-17 21:03) [4]

Используй GetRValue(), GetGValue(), GetBValue() для отдельных составляющих цвета или массив YourBitmap.Canvas.Points[x,y] для номера цвета в виде 32-битного числа.


 
Vladimir1984 ©   (2006-12-17 21:06) [5]


> Используй GetRValue(), GetGValue(), GetBValue() для отдельных
> составляющих цвета или массив YourBitmap.Canvas.Points[x,
> y] для номера цвета в виде 32-битного числа.

Можно не много подробнее )


 
ProgRAMmer Dimonych ©   (2006-12-17 21:35) [6]

Вообще говоря, цвет произвольной точки, заданный в формате RGB - 32-битное число. Но оно само по себе мало о чём говорит обычному человеку (да и программисту тоже). Если надо только это 32-битное число, то в классе TBitmap есть TBitmap.Canvas, у которого, в свою очередь, есть свойство-массив Points[]. В квадратных скобках указываются координаты X и Y нужной точки битмапа. Это свойство как раз и вернёт 32-битный код цвета.

А Get?Value - для получения R - красной, G - зелёной, B - синей составляющих цвета. Эти числа уже более информативны для человека, но каждое из них - по 1-му байту.


 
ProgRAMmer Dimonych ©   (2006-12-17 21:36) [7]

GetRValue, GetGValue и GetBValue а входе получают как раз 32-битное число (то самое, которое в TBitmap.Canvas.Points[]).


 
Vladimir1984 ©   (2006-12-17 21:47) [8]


uses
 SysUtils, ComObj, ActiveX, Graphics;
var o: Variant;
   sh, wb: Variant;
   b:TBitmap;
   x,y:integer;
begin
   b:=TBitmap.Create;
   b.LoadFromFile(ParamStr(1));
   CoInitialize(nil);
   o:=CreateOleObject("Excel.Application");
   o.Visible:=true;
   wb:=o.Workbooks.Add;
   sh:=wb.ActiveSheet;
   sh.Cells.ColumnWidth :=0.25;
   sh.Cells.RowHeight := 2.5;
   for x:=0 to b.Width do
       for y:=0 to b.Height do
           sh.Cells[y+1,x+1].Interior.Color:=b.Canvas.Pixels[x,y];
   CoUninitialize();
   b.Free;
end.

Вот нашел что то подходящее но в Excel, но она просто раскрашивает ячейки, а вот как присвоить каждому цвету, чифровое значение? 0-255 по HSL шкале, чтобы в самой таблице уже получались данные а не раскараска ячеек =)


 
ProgRAMmer Dimonych ©   (2006-12-17 22:20) [9]

У Cells[] по идее олжно быть что-то типа Value - туда и надо эти Points[] сунуть. А HSL - эо что такое, если не секрет?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
2-1166368209
i-am-vladko
2006-12-17 18:10
2007.01.07
Z-последовательность


4-1156650425
m52
2006-08-27 07:47
2007.01.07
OpenFileMapping не работает под win2000


15-1166307827
default
2006-12-17 01:23
2007.01.07
Запись песен звучащих с интернет-радио к себе на диск


2-1166300436
Defort
2006-12-16 23:20
2007.01.07
Последняя надежда


15-1166021257
sergey888
2006-12-13 17:47
2007.01.07
Самые перспективные профессии





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский