|
|
Другие темы раздела | |
Delphi Программно создание caption Подскажите пожалуйста сложно обьяснить но попробую когда нажать на кнопку в файле.тхт идет поиск слов если в слове есть .тхт тогда создаются checkboxи название их будет слово из файла их будет столько сколько слов в файл.тхт без // если в файле.тхт есть //слово.тхт тогда у название checkbox будет галочка отмечена и если нажать на кнопку сохранить тогда если галочка отмечена текст... https://www.cyberforum.ru/ delphi-beginners/ thread268114.html |
Delphi Полигон и Гистрограмму Как построить Полигон и Гистрограмму...Если можно приведите пример |
Delphi Путь к файлам Здравствуйте! =) Стоит компонент WebBrowser, путь к странице задается через ComboBox. Сами страницы(html) находятся в подкаталоге самой программы. Так вот, при переносе программы, путь к страницам соответственно меняется. Подскажите пожалуйста, как прописать пути к файлам, что бы программа их находила... https://www.cyberforum.ru/ delphi-beginners/ thread268084.html | Delphi Переделать через обработку сообщений Windows. Доброго времени суток. Есть вот такой код программы: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; https://www.cyberforum.ru/ delphi-beginners/ thread268076.html |
в TidAttachment ошибка Delphi Здравствуйте! У меня Delphi 2009 в строке TidAttachment.Create(IdMessage1.MessageParts, 'C:/'); пишет, что не знает 'C:/' Почему так? всегда работало. Скажите пожалуйста |
Delphi Хэширование
https://www.cyberforum.ru/ delphi-beginners/ thread268051.html Доброго времени. В универе по спо (системное программное обеспечение) дали лабораторную. Суть в следующем. Дан список идентификаторов(.txt файл). Нужно оргаизовать поиск по этому списку 2-мя методами: рехеширование с произведением и с помощью простого списка ( кому интересно учебник Молчанова, Лабораторный практикум). Вот мой код: unit Unit1; const hash_min=Ord('0')+Ord('0')+Ord('0');... |
Delphi Word Какой текстовый компонент может различать Word (OleVariant) ? В каком-то исходнике видел mmMain, но я его не нашёл в своём Delphi.... https://www.cyberforum.ru/ delphi-beginners/ thread268034.html |
Delphi Aлгоритм управления памятью «Быстрый подходящий» (с 3 списками). Помогите пожалуйста!!! нужно написать код выделения памяти для варианта с тремя списками код освобождения памяти для варианта с тремя списками процедурa дефрагментации для варианта с быстрым подходящим изменить прогу на Delphi Вся теория что у меня есть: алгоритм распределения называется «быстрый подходящий», он поддерживает отдельные списки для некоторых из наиболее часто запрашиваемых... |
Delphi Ввести список целых чисел,предусмотреть проверку правильности ввода,отсортировать по убыванию. Помогите написать программу. нужно Ввести список целых чисел. Предусмотреть проверку правильности ввода (при вводе символа выдавать сообщение о необходимости повторного ввода). Отсортировать введенные значения по убыванию и показать их. https://www.cyberforum.ru/ delphi-beginners/ thread267958.html | Delphi Ввести список целых чисел,предусмотреть проверку правильности ввода,отсортировать по убыванию. Помогите с написанием программы. нужно Ввести список целых чисел. Предусмотреть проверку правильности ввода (при вводе символа выдавать сообщение о необходимости повторного ввода). Отсортировать введенные значения по убыванию и показать их. https://www.cyberforum.ru/ delphi-beginners/ thread267930.html |
Delphi Выяснить, совподают ли строки. Привет всем! Передо мной задача:Выяснить совподают ли строки. Если нет, то получить номер первой строки с отличием. Первую половину я сделал :) это загрузил текст в мемо и сравнил их. если совподает, то сообщение "совподает" осталось другая чать, которая вызвала у меня затруднение и я надеюсь на вашу помощь! var Form1: TForm1; txtf:textfile; a:string; b:string; |
Delphi Использование переключателей, списков, полос прокрутки для управления пользовательским вводом
https://www.cyberforum.ru/ delphi-beginners/ thread267911.html Помогите пожалуйста с прогой. Ввести список строк. При щелчке на элементе списка необходимо выводить порядковый номер элемента в списке и заносить его во второй компонент TListBox. Заранее благодарна) |
Заблокирован
|
|||||||||||
10.04.2012, 17:35 | 0 | ||||||||||
Стеганография - Delphi - Ответ 289566810.04.2012, 17:35. Показов 88168. Ответов 70
Метки (Все метки)
Ответ
aidoqa,
В смысле про формат png? Графический формат. Использует сжатие без потерь. Может содержать альфа-канал. Для работы с ним нужна библиотека. Она есть в архиве. Всё сводится к созданию обьекта PNG и работы с ним. Добавлено через 10 минут В разделе uses подключается pngimage А это блок загрузки картинки PNG
png := TPNGObject.Create; // создаем png.LoadFromFile(OD1.FileName); WW:= png.Width; HH:= png.Height; _B_.Width:=WW; _B_.Height:=HH; Создаётся объект TPNGObject Грузим рисунок png.LoadFromFile(OD1.FileName); Получаем его размеры WW:= png.Width; HH:= png.Height; Делаем битмап того же размера _B_.Width:=WW; _B_.Height:=HH; Добавлено через 1 минуту Переносим на битмап _B_.Canvas.Draw(0, 0, png); // выводим Уничтожаем обьект PNG png.Free; // Освобождаем Всё рисунок распакован Добавлено через 1 минуту Далее делаем копию битмапа в виде сплошного потока байтов Добавлено через 1 минуту Ну а потом открываем файл текста и берём с него байт за байтом и добавляем его биты к пикселям Добавлено через 40 секунд То есть к каждому байту копии битапа Добавлено через 1 минуту А происходит это в процедуре
Procedure Write_Byte(_dat:Byte); (_dat:Byte); Это байт текста Добавлено через 1 минуту for ind_:=1 to 8 do begin поскольку в байте 8 битов то записываем байт текста в 8 байтов потока копии битмапа Добавлено через 1 минуту вот мы прочитали байт из потока копии битмапа и внедряем его бит Добавлено через 46 секунд Но тут нужно иметь представление об ассемблере и о регистрах процессора Добавлено через 5 минут но постараюсь обьяснить смысл. вот байт. Это 8 бит хххххххх а слово состоит из двух байт хххххххххххххххх BH и BL Это регистры процессора, способные хранить байт. Вместе они представляют 16 разрядный регистр BX для хранеия слова Добавлено через 3 минуты предположим текст это латинская буква A. код $41 или в двоичной 00101001 Добавлено через 24 секунды Он в регистре BL Добавлено через 5 минут а в картинке пиксель код 00000011 Он занесён в регистр BH В нём будет менятся младший бит. Поэтому поготовим место. Мы сдвигаем этот регистр на один разряд вправо. получаем 10000001 Добавлено через 2 минуты а в регистре BL 00101001 Следовательно в BX теперь 1000000100101001 Добавлено через 38 секунд Сдвигаем теперь все 16 бит влево Добавлено через 1 минуту 0000001001010011 Добавлено через 3 минуты в BH 00000010 B BL 01010011 Добавлено через 4 минуты в BH Нужный готовй байт. В нём младший бит изменён на ноль в BL остался бате буквы но сдвинутый на один разряд влево. То есть в старшем разряде второй бит При следующем обороте цикла этот бит заменит младший бит байта каринки, а на его место встанет 3 бит. И так дале... Другими словами байт буквы побитно наползает на подготовленный байт картинки Вернуться к обсуждению: Стеганография Delphi
3
|
10.04.2012, 17:35 | |
Готовые ответы и решения:
70
Стеганография Стеганография Стеганография.Шифрование текста в картинку Стеганография LSB BMP |
10.04.2012, 17:35 | |
10.04.2012, 17:35 | |
Помогаю со студенческими работами здесь
0
Стеганография Стеганография стеганография Стеганография |