Exemplo n.º 1
0
    def encry(self):
        hide_msg = self.msg_box.get('1.0', END).replace('\n', '')
        if self.file_name == '':
            if hide_msg == '':
                self.msg_box.delete('1.0', END)
            self.msg_box.insert(END, 'Please open a bitmap file first.')
            return 0
        elif hide_msg == '':
            self.msg_box.insert(END, 'Input hidden message here.')
            return 0
        elif len(hide_msg) > self.available:
            if self.msg_box.get('1.0', END) != '':
                self.msg_box.delete('1.0', END)
            self.msg_box.insert(
                END, 'Input hidden message is larger than ' +
                str(self.available) + ' bytes.')
            return 0
        else:
            origin_file_name = self.file_name
            # add 'hidden' to new image file name
            new_file_name = self.file_name[:-4] + '_hidden' + self.file_name[
                -4:]
            encryption = Encryption(origin_file_name, new_file_name, hide_msg)
            encryption.run()

            global right_img
            right_img = Image.open(self.file_name)
            w, h = right_img.size
            # resize img
            scale_w = img_display_width / w
            scale_h = img_display_height / h
            scale = min(scale_w, scale_h)
            new_w = math.ceil(scale * w)
            new_h = math.ceil(scale * h)
            img = right_img.resize((new_w, new_h), Image.NEAREST)

            global right_photo
            right_photo = ImageTk.PhotoImage(img)
            self.right_img_canvas.create_image(img_display_width / 2,
                                               img_display_height / 2,
                                               anchor=CENTER,
                                               image=right_photo)

            if self.msg_box.get('1.0', END) != '':
                self.msg_box.delete('1.0', END)
            self.msg_box.insert(END,
                                'Saved new file into ' + new_file_name + '.')