Esempio n. 1
0
    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("Сообщение закодировано!")
Esempio n. 2
0
    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("Сообщение успешно добавлено в изображение")