前回の記事"Article"では、記事の最初の写真を作った方法を書いていて、Figmaの使用を勧める訪問者もいましたが、周りを見回したので、とても複雑で、PPTが単純な😂ので、良い記事を書くたびに背景と基本的なテキストを背景にしたPPTを直接生成してもらい、直接ダウンロードしてテキストを変更し、写真を追加して最初の画像を作成します。 しかし、私は操作pptピースのコーディングに精通していません、私は何をすべきですか?
チャットGPTに行ってください 詳細を見る! この機能モジュールのコードの90%はコメントを含めてChatGPTで書かれており、ブログのバックエンドに合わせてパーツを変更しただけです。
ここでの私のニーズは、2つのテキストボックスを含むグラデーションの背景を持つPPTファイルを生成するために実行した後、1つは下部のサイト名であり、もう1つは予約された記事のタイトルです。
もちろん、ChatGPTに尋ねるだけでなく、現時点では過度に広範で曖昧な指示を理解することができず、要件に応じてコードを生成するために段階的にガイドすることしかできません。
まず、斜めのグラデーションの画像を生成させます。
PPTに写真を追加してフルスクリーンに設定します。
次に、PPTを生成するコードを記述させ、このPPTにテキストを追加させます。
最終的には、私たち人間が集まって、これらのコードスニペットを統合し、デバッグし、最終的にそれらを提供する必要があります。
与えられたコードは100%直接使用できるわけではありませんが、このプログラミング体験は本当に素晴らしいと思いますが、エラーを手動で修正するか、エラーを修正して自分で正しい答えを出すように指示します。 興味がある場合は、この機能を含む完全なコードを読んでください。
時間が経つにつれて人々は基本を学ぶことに興味を失いますが、私がすでにライターを持っているのに、なぜ私は火のために木を掘る必要がありますよね?
このデモを実行するには、次の 2 つのパッケージをインストールする必要があります。
pip3 枕をインストール pip3 install python-pptx
'''ジャワ PILインポート画像から ランダムにインポート pptxインポートプレゼンテーションから pptx.enum.shapes インポート MSO_SHAPE pptx.utilインポートインチから、Pt from pptx.dml.color import RGBColor OS のインポート
防御力 cmtoin(cm): リターンインチ(cm / 2.54)
data = [((189,195,199),(44,62,80)), ((121,159,12),(172,187,120)), ((51,77,80),(203,202,165)), ((247,248,248),(172,187,120)), ((255,224,0),(121,159,12)), ((0,65,106),(228,229,230))]
random_index = random.randrange(len(data)) # ランダムなインデックスを生成する
randomdata = データ[randomindex]
定義 gradientcolor(startcolor, endcolor, ステップ): """ startcolorからendcolorへのステップグラデーションの生成 """ startr、startg、startb = startcolor endr、endg、endb = endcolor rstep = (endr - startr) / ステップ gstep = (endg - startg) / ステップ bstep = (endb - startb) / ステップ
色 = [] 範囲内のiの場合(ステップ): r = int(startr + i * rstep) g = int(startg + i * gstep) b = int(startb + i * bstep) colors.append((r, g, b)) 戻り値の色
デフcreategradientimage(幅、高さ、色): """ グラデーション画像を作成する """ img = Image.new('RGB', (width, height)) データ = [] 範囲内のyの場合(高さ): 範囲(幅)のxの場合: #ピクセルの位置に応じて対応する色を計算します 比率 = (x + y) / (幅 + 高さ) colorindex = int(比率 * (len(colors) - 1)) 色 = 色[colorindex] data.append(color) # 画像にデータを書き込む img.putdata(data)
IMGを返す
name == 'main'の場合: # グラデーションの開始色と終了色 startcolor = randomdata[0] # レッド endcolor = randomdata[1] # 緑 #256のグラデーションカラーを生成します ステップ = 256 色 = gradientcolor(startcolor、endcolor、ステップ) # グラデーション画像を作成する 幅、高さ = 1920、1080 img = creategradient_image(幅、高さ、色) # 画像を保存する img.save('gradient.png')
prs=プレゼンテーション() # スライドのアスペクト比を 16:9 に設定します。 prs.slideheight = int(720/96 * 914400) prs.slidewidth = int(1280/96 * 914400) blankslidelayout=prs.slidelayouts[6] スライド=prs.slides.addslide(blankslidelayout) slide.shapes.addpicture('グラデーション.png', 0, 0, prs.slidewidth, prs.slideheight) #设置要新建的文本框的位置 左 = 上 = 幅 = 高さ = インチ(1) #实例化一个文本框 txBox = slide.shapes.addtextbox(cmtoin(14.76), cmtoin(16.74), 幅, 高さ) #设置文本框的类型 tf=txBox.textframe p=tf.addparagraph() p.text="tstrs.me" #设置新添加的段落文字的字号为40 p.font.color.rgb = RGBColor(255, 255, 255) # フォントの色 p.font.name = 'アイソライン' # フォント名 p.font.size=Pt(32) # フォントサイズ #实例化另一个文本框 titletxBox = slide.shapes.addtextbox(cmtoin(4.9), cmtoin(4.27), width, height) #设置文本框的类型 タイトルtf=titletxBox.textframe タイトル=titletf.addparagraph() title.text="Test title" タイトル.フォント.太字 = 真 # 太字を設定 title.font.color.rgb = RGBColor(255, 255, 255) # フォントの色 title.font.name = 'アイソライン' # フォント名 タイトル.フォントサイズ=Pt(80) # フォントサイズ currentdir = os.path.dirname(os.path.abspath(file)) pptxfilename = os.path.join(currentdir, "example.pptx") 保存(pptxfilename) os.remove('gradient.png') print(f"保存されたPPTXファイル: {pptxfilename}") ```
私のワークフローに追加し、記事の編集プロセスを最適化します。
WindowsでLinuxサーバディレクトリをアップロードする簡単な方法
VNC を使用するための簡単な基本チュートリアル
非常にクリエイティブなダウンロード ツールです。それ自体は単純なダウンロード機能のみを提供し、拡張機能はサードパーティのプラグインによって提供されます
頭の中で不可解に考えると、なぜこれが起こっているのですか?白黒はっきりした直線ではなく、どんどんぼやけていくのはなぜか?
目次
人気タグ
その他の言語
サイト情報