Как в картинку (jpg, gif или накрайняк bmp, естественно программно) вставить произвольные данные, при этом чтобы картинка была читабельна всеми просмотарщиками. Спасибо.
Вот так
Bitmap bmp = new Bitmap( filePath );
Graphics g = Graphics.FromImage( bmp );
string strDate = DateTime.Now.ToLongDateString() +
" - " +
DateTime.Now.ToLongTimeString();
g.DrawString( strDate,
new Font( FontFamily.GenericSansSerif, 10 ),
new SolidBrush( Color.Black ),
new RectangleF( 1,1,320,240 )
);
g.DrawString( strDate,
new Font( FontFamily.GenericSansSerif, 10 ),
new SolidBrush( Color.White ),
new RectangleF( 0,0,320,240 )
);
MemoryStream ms2 = new MemoryStream();
//Get codecs
ImageCodecInfo[] icf = ImageCodecInfo.GetImageEncoders();
EncoderParameters encps = new EncoderParameters( 1 );
EncoderParameter encp = new EncoderParameter( Encoder.Quality, (long) nQuality );
//Set quality
encps.Param[0] = encp;
bmp.Save( ms2, icf[1], encps );
ms2.Close();
/**********Comments***************************/
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, Chardex, Вы писали:
C>Как в картинку (jpg, gif или накрайняк bmp, естественно программно) вставить произвольные данные, при этом чтобы картинка была читабельна всеми просмотарщиками. Спасибо.
Что касается BMP, есть метод LSB — исходное сообщение "раскидывается" на биты, и эти биты записываются в младшие биты байтов контейнера. Если затрагивать только 1-2 бита, изображение не страдает. BMP при этом остаётся BMP — соответственно, читается всеми просмотрщиками. Стеганография
Здравствуйте, __nSP__, Вы писали:
__S>Здравствуйте, Chardex, Вы писали:
C>>Как в картинку (jpg, gif или накрайняк bmp, естественно программно) вставить произвольные данные, при этом чтобы картинка была читабельна всеми просмотарщиками. Спасибо.
__S>Что касается BMP, есть метод LSB — исходное сообщение "раскидывается" на биты, и эти биты записываются в младшие биты байтов контейнера. Если затрагивать только 1-2 бита, изображение не страдает. BMP при этом остаётся BMP — соответственно, читается всеми просмотрщиками. Стеганография 
^^^ horrible hack
Я думаю, Вам нужно чётче сформулировать вопрос: работа с данными изображения на картинке — это одно, работа с метаданными и другой посторонней информацией в файлах картинок — это другое. В любом случае у каждого формата свой стандарт хранения данных и свои библиотеки для работы с ними.