コード例 #1
0
ファイル: page_edit.py プロジェクト: rzr/paperwork
    def __on_size_allocated_cb(self):
        if not self.__cut_grips is None:
            return
        (a, b, img_w, img_h) = self.imgs['orig'][1].getbbox()
        orig_alloc = self.__original_img_widgets['viewport'].get_allocation()
        (orig_alloc_w, orig_alloc_h) = (orig_alloc.width, orig_alloc.height)
        factor_w = (float(orig_alloc_w) / img_w)
        factor_h = (float(orig_alloc_h) / img_h)
        factor = min(factor_w, factor_h)
        if factor > 1.0:
            factor = 1.0
        target_size = (int(factor * img_w), int(factor * img_h))
        copy = self.imgs['orig'][1].copy()
        self.imgs['resized'] = (factor,
                                copy.resize(target_size, PIL.Image.BILINEAR))
        self.__cut_grips = ImgGripHandler(
            [self.imgs['resized'], self.imgs['orig']],
            self.__original_img_widgets['scrolledwindow'],
            self.__original_img_widgets['eventbox'],
            self.__original_img_widgets['img'])
        self.__cut_grips.visible = False
        self.__cut_grips.connect("grip-moved", self.__on_grip_moved_cb)

        self.__redraw_result()