def encode_text(self): if self.image is None: self.set_output_message("Ошибка загрузки.") return array = QByteArray() array.push_back(self.get_input().encode()) self.data.curr_power = len(array) if self.data.overflow(): self.set_output_message( "Сильно большой текст для кодирования в эту картинку.") return for i in range(4): array.push_front( bytes(((self.data.curr_power >> in_bits(i)) & 0xff, ))) for i in range(len(MainWindow.bytes_key) - 1, -1, -1): array.push_front(bytes((MainWindow.bytes_key[i], ))) bytes_write(self.image, array, 0) self.set_output_message("Сообщение закодировано!")
def encode_text(self): if not self.is_loaded: self.ui.output_label.setText("Изображение не загружено в программу") return self.used_capacity = len(self.ui.message_frame.toPlainText()) if self.image_capacity < self.used_capacity: self.ui.output_label.setText("Ошибка. Недостаточно места!") return byte_array = QByteArray() byte_array.push_back(self.ui.message_frame.toPlainText().encode()) for i in range(4): byte_array.push_front(bytes(((self.used_capacity >> i * 8) & 0xff,))) for i in range(len(MainWindow.indicator) - 1, -1, -1): byte_array.push_front(bytes((MainWindow.indicator[i],))) write_bytes(self.image, byte_array, 0) self.ui.output_label.setText("Сообщение успешно добавлено в изображение")