Главная страница
    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.47 MB
Время: 0.012 c
2-1166208980
=[)eSTr0YYeR=
2006-12-15 21:56
2007.01.07
Как получить список файлов в каталоге?


2-1166577368
Алексей Филонович
2006-12-20 04:16
2007.01.07
форма


15-1166392688
Kerk
2006-12-18 00:58
2007.01.07
Google News наконец на русском


2-1166472073
allrussia
2006-12-18 23:01
2007.01.07
Приложение очень долго закрывается


2-1166428706
nickhilo
2006-12-18 10:58
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский