Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Прихована передача мультимодальних персональних даних шляхом занурення в растрове зображення довільної розрядності

Реферат Прихована передача мультимодальних персональних даних шляхом занурення в растрове зображення довільної розрядності





я raquo ;, Увага ); return; }//Якщо немає тексту, то висновок помилки

} (Bits == 0) {MessageBox.Show ( Задайте розрядність raquo ;, Увага ); return; }//Якщо не вибрана розрядність видає помилку (Colors [0] == 0 amp; amp; Colors [1] == 0 amp; amp; Colors [2] == 0) {MessageBox.Show ( Задайте колірні канали raquo ;, Увага ); return; }//Якщо не обрані канали, видає помилку (CryptMode == true)//якщо метод горизонтальний, то перераховує підсумкове поле для запису в зображенні

{= sverhu; MaxShift1=vysota - snizu;//=Sleva; MaxShift2=shirina - sprava;//

}//якщо метод вертикальний, то перераховує підсумкове поле для запису в зображенні

{= sleva; MaxShift1=shirina - sprava;//=Sverhu; MaxShift2=vysota - snizu;//

}=MessageBytes.Length;// обнулення змінних для запису

SendingByte=MessageBytes [0];// призначаємо SendingByte перший байт повідомлення=0;// обнуляем індекс масиву повідомлення=0;// обнуляем лічильник переданого біта=new Bitmap (CryptImage);// скопіювати зображення для запису

for (int y=MinShift1; y lt; MaxShift1 amp; amp; Index lt; MessageSize; y +=interval)//цикл записи по вертикалі (int x=MinShift2; x lt; MaxShift2 amp ; amp; Index lt; MessageSize; x +=interval)//цикл записи по горизонталі

{(CryptMode == true) ColorVAR=image.GetPixel (x, y); else ColorVAR=image.GetPixel (y, x);

RGB [0]=ColorVAR.R;// присвоєння червоного каналу [1]=ColorVAR.G;// присвоєння зеленого каналу [2]=ColorVAR.B;// присвоєння синього каналу

for (ColorPosition=0; ColorPosition lt; 3 amp; amp; Index lt; MessageSize; ColorPosition ++)//перебираємо колірні канали

{((Colors [ColorPosition] amp; 1) == 1)//звіряємо канал з маскою квітів

{(BitPosition=7; BitPosition gt;=0; BitPosition--)//перебираємо розрядність

{(((Bits gt; gt; BitPosition) amp; 1) == 1)//звіряємо розряд з маскою бітів

{((SendingByte amp; 1) == 1) RGB [ColorPosition] |=(byte) Math.Pow (2, BitPosition); RGB [ColorPosition] amp;=(byte) ~ ( byte) Math.Pow (2, BitPosition);// для запису одиниці використовуємо АБО, для запису нуля ~ І

SendingBit ++;// збільшуємо лічильник переданих (SendingBit == 8)//передали байт

{(Index + 1 lt; MessageSize)//перевіряємо вихід за межі масиву

{++;// збільшуємо індекс в масиві=0;// обнуляем лічильник бітів=MessageBytes [Index];// записуємо новий байт в масив

} {Index ++; break; }//Якщо вийшли за межі масиву - виходимо з циклу

} SendingByte gt; gt;=1;// зрушуємо передається байт на один вправо

}

}

}

}=Color.FromArgb (RGB [0], RGB [1], RGB [2]);// створюємо новий колір (CryptMode == true) image.SetPixel (x, y, newColorVAR); else image.SetPixel (y, x, newColorVAR);// залежно від методу запису, встановлюємо нове значення компонент пікселя

}. Image=image;// встановлюємо ізображеніе.SizeMode=PictureBoxSizeMode.Zoom;// масштабується ізображеніе.Enabled=true;// включаємо кнопку Зберегти зображення (test == true)//якщо режим програми Читання АБО обраний демонстративний режим

{. Show ( вважається текст raquo ;, Увага );// виведення тексту

DecryptImage=new Bitmap (image);// створюємо копію ізображенія_Click (sender, e);//

}

} void checkBox9_CheckedChanged (object sender, EventArgs e)//вибір червоного колірного каналу

{[0] ^=1;// якщо стоїть червоний, то в масиві, в 1 змінну відзначається 1 ();// викликає перевірку на можливість запису

} void checkBox10_CheckedChanged (object sender, EventArgs e)//вибір зеленого колірного каналу

{[1] ^=1;// якщо стоїть червоний, то в масиві, у 2 змінну відзначається 1 ();// викликає перевірку на можливість запису

} void checkBox11_CheckedChanged (object sender, EventArgs e)//вибір синього колірного каналу

{[2] ^=1;// якщо стоїть червоний, то в масиві, в 3 змінну відзначається 1 ();// викликає перевірку на можливість запису

} void Start2_Click (object sender, EventArgs e)//розкриття прихованої інформації

{(Bits == 0) {MessageBox.Show ( Задайте розрядність raquo ;, Увага ); return; }//Якщо не вибрана розрядність видає помилку (Colors [0] == 0 amp; amp; Colors [1] == 0 amp; amp; Colors [2] == 0) {MessageBox.Show ( Задайте колірні канали raquo ;, Увага ); return; }//Якщо не обрані канали,...


Назад | сторінка 9 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Способи запису інформації на вінчестер, головки читання-запису
  • Реферат на тему: Особливості запису сигналів зображення
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений