インターフェースの全体的な外観は、実際には以前のものとあまり変わりません。誰もが以前の記事を読んでいるはずです。
全体的な GUI インターフェースは次のとおりです:
ユーザーは ID 写真を追加することを選択できます。 「白い背景」または「赤い背景」に置き換えるを使用する場合、フロントエンド インターフェイスが写真のアップロードを完了した後、バックエンド プログラムが必要な操作の実行を開始します。
まず、写真の背景色を削除する必要があります。ここではサードパーティ インターフェイスのremovebgが使用されます。公式リンクは次のとおりです:
#アカウント登録が完了したら、次のリンクにアクセスして api_key を取得します: https://www.remove.bg/api#remove-background#以下は、対応するプログラム コードです。
def remove_bg(self): api_keys = "自己注册的api_key" rmbg = RemoveBg(api_keys, "error.log") rmbg.remove_background_from_img_file(imgNamepath)
必要な色を追加します
no_bg_image = Image.open(in_path) x, y = no_bg_image.size new_image = Image.new('RGBA', no_bg_image.size, color="red") new_image.paste(no_bg_image, (0, 0, x, y), no_bg_image) new_image.save(output_path)
今回は、GUI インターフェイスで画像を表示するために使用するコントロールです。 graphicsView コンポーネント。「画像の選択」ボタンをクリックして画像をアップロードした後、graphicsView ウィンドウに画像を表示する必要があります。コードは次のとおりです:
def openImage(self): global imgNamepath# 这里为了方便别的地方引用图片路径,将其设置为全局变量 imgNamepath, imgType = QFileDialog.getOpenFileName(self.ui, "选择图片", "D:\", "*.png;;*.jpg;;All Files(*)") # 通过文件路径获取图片文件,并设置图片长宽为label控件的长、宽 img = QtGui.QPixmap(imgNamepath).scaled(self.ui.graphicsView.size(), aspectMode=Qt.KeepAspectRatioByExpanding) print("img: ", img.width(), img.height()) self.ui.graphicsView.setFixedSize(img.width(), img.height()) # 在label控件上显示选择的图片 item = QGraphicsPixmapItem(img) scene = QGraphicsScene() scene.addItem(item) self.ui.graphicsView.setScene(scene) self.ui.graphicsView.repaint() # 显示所选图片的路径 self.ui.lineEdit.setText(imgNamepath)
最後に全体的な効果を見てみましょう
以上がPython を使用してビジュアル GUI インターフェイスを作成し、ワンクリックで証明写真の背景色を置き換えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。