投稿

Python 3/tkinter で画像を表示 骨格部分を抜き出してみました sampl code

イメージ
ずいぶんと前から試行錯誤していましたが、 pygameでの表示ならばできていました。 これは参考本を見ながらでしたが。 しかし昨日になり、 pygameでScrollbarでスクロールする方法がないのではないかと結論づけました。 ですので、別の方法をさがしましたが・・・ スクロールを諦めることができれば、 何個か方法があるように インターネット検索で結果が出ます。 しかしこれが全く動きません。 いろいろと試していましたが、 ついに表示することに成功しました。 今回はtkinterで表示してみます 。 まず、100x100ピクセルの画像を用意してください。 Windows付属のpaintなどで描けると思います。 それをこれから紹介するプログラムと同じフォルダに置きます。 実は100x100でなくてもよいのですが、 便宜上100x100としておきます。 a.pngとして保存してください。 プログラム例 骨格部分 from tkinter import Tk, PhotoImage, Canvas root = Tk() sc = Canvas(width=300,height=300,bg="Blue") img = PhotoImage(file="a.png") sc.create_image(150,150,image=img) sc.pack() root.mainloop() 実行例も置いておきます。 実行例 昨日というか、今日の深夜、 ひらがなブラウンfont の続きを作っていました。 完成したら発表しますので、お楽しみに! 結局tkinterでもスクロールの仕方が分からず。 ひらがなブラウンfont tkinter編 もお蔵入りとなりました。 ですが、 tkinter のみで表示できました! END

徒然とWindows機とChromebookについて書いてみます

Windows機とChromebook はじめに 思いついた順番に書いてみます。 皆さんの参考になればよいかな?と思っています。 なお、専門用語が多く出ますので、 パソコンに詳しい人に聞くとよいかもしれないです。 パソコン選びの際に Windows 「まず、Windowsは(昔は)売っているパソコンの種類が多かった。」ことです。 好き嫌いは置いておくとしても、 hpやDELL、それに日本製のパソコンがあります。 もちろんそれ以外にも選択肢はありますが。 Chromebook 一方Chromebookはアジア製のパソコンが多いですね。 自分の持っているパソコンはエイスース製です。 ソフトウェアの多さ Windows Windowsでは、 「窓の杜」などのサイトで フリーのソフトがダウンロードできます。 これ、 案外重要な要素となります。 Linuxも動きます。 WSL 2 が最近の流行りなのでしょうか? 調べてから導入してください。 Chromebook また、Chromebookでは DebianというLinuxデストリビューションがベータですが、動きます。 Python 3に限って言うと Windows Windowsでは、 インターネット(または、Microsoft store)からダウンロードすれば、 コマンドプロンプトから実行できます。 こちらは 我流 で、 OpenGLの動かし方が分からないだけで、 主に Tk numpy pip pygame pillow などが動作します。 OpenGLはどうやって動作させてよいのか ・・・? また、WSLで言うと、 なんと! synapticパッケージマネージャーが、 (Xサーバを動作させれば)動きます! python3-opengl パッケージもあります。 Chromebook 一方Chromebookでは、 OpenGLはaptでインストールできます。 Pythonは、 バージョン2系と バージョン3系があるので、 ややこしくなりますが、 使いこなせばLinuxの良さがわかると思います。 自分的には、GNOMEなどが動いてくれると助かるのですが・・・ テキストエディター 日本マイクロソフトのVisual Studio Codeなどが候補となります。 ただ、 理由は知らないですが、 DebianのVS Codeは、...

バリア 動画

前の投稿で、 円の衝突動画を掲載しています。 今回はそのプログラムのパラメーターを変更しました。 すると、 自分には面白いと思える動画を撮ることに成功しました。 Chromebookからは映像のキャプチャーができないので(多分)、 Windows のフリーウェア、 VClip で撮影(?)しました。 興味のある人は是非見てください! バリアのようにも見えませんか? 動画 Windows 追記 Chromebookでも映像キャプチャーができるようになりました。 END

ブラウンfont 今年1月の文章の続きを公開します

イメージ
 プログラム的には全くさわっていませんが、今年1月に公開したスクリーンショットの続きを投稿します。前回のスクリーンショットをその1とします。 その2 その3 END

bounddot2 動画 と、苦労した点

先日bounddotの実行動画の最終形をアップロードしました。 今回は、bounddot2と称して止まっている円が3つのバージョンの動画をアップします。 ここから下は備忘録となります。 昼頃いったん完成しましたが、 映像キャプチャー用に調整していたら、 バグが出てしまい、 なかなかとれない状況になりました。 これも昔の投稿となりますが、 VS Code を使うと書きました。 しかし敷居が高いためうまくゆかず。 参考図書の電子書籍も内容が分からないのです。 ですので、昔ながらのPython 3のprint関数で出力し、バグをとりました。 もう慣れっこです。 問題点はこの1行です。 × for i in range(self.maxi,0,-1): 〇 for i in range(self.maxi-1,-1,-1): 正解の方で、 2か所変更していますが、 self.maxi-1 の方は エラーが出たので、すぐにバグはとれました 。 しかし、その次の0を-1にするのに かなり時間がかかってしまったのです。 for文を完全に理解していなかったのが原因です。 コマンドプロンプトにエラーが出ないので、 キャプチャー用に付け足した部分 つまり、違う部分が悪いと思い込んでいました。 実際の処理は、 if not (True in self.disp_questionmark): としていて、 この行自体は間違っていませんでした。 (その証拠に、ひとつ前のバージョンでは動作しています。) 問題点は、 self.disp_questionmark[0] がTrueのまま、無限ループしていたところでした。 (多分) ですので、上に書いた、 -1を下限にすることで、 i が、0の時も処理するようにできます。 この手のエラーは昔も出ていたと思いますがよく覚えていません。 とにかく、0まで添え字を演算したいときは、 -(0+1) で、イコール -1となります。 詳しくは、 Python 3の書籍の 、 for文の項目 などを見てください。 少し手を加えようと思ったのですが、 結構な時間かかってしまいました。 それでは、やっと動画をアップします。 bounddot2_No3.py 追記 今日も修正しました。 内部的にはかなり変更しましたが、 見た目があまり変わっていないので動画のアップロー...

Pygameで立方体を回転させてみました 動画

(Python 3/pygame) 昔から作っているので、何回目かは覚えていません。 一応立方体は回転します。 テクスチャマッピングなしの立方体回転(Python 3/pygame) ですが、テクスチャマッピングを施した立方体が回転するかどうかはまだ知りません。 Pygameで書いたテクスチャマッピングした立方体が回転する動画があれば見たいですが。 先月に大量にアップロードしていた動画は(今は掲載していませんが)、 (Python 3/OpenGL)のものです。 pygameはキーボードからのキー入力に対応しているところが好きです。 昨日投稿したマイクロソフトのリンク(Python 3の話が中心です。)には面白いことがぎっしり詰まっています。 腕に覚えのある方は見てみてください。(^_^) まとめ(感想) 話がそれますが、Bloggerの日付が日本時間で無い件は放置しています。 そして、日本マイクロソフトの初心者向けの投稿がたいへん参考になります。 でもできれば、Djangoが何で、どんなことができるのか分かるともっといい記事になるかと思います。Djangoのサンプルプログラムを見てみたい!(どんなことに使うのか。) END

Microsoftで面白い投稿(?)を見つけました

WindowsでPythonを使ってみる(初心者向け): Windows で Python を使ってみる (初心者向け) | Microsoft Docs 興味のある人は 見てみてください。 END

dot衝突 動画

最終版(?)が完成したので、 動画をアップロードしときます。 跳ね返った時に色を変えています。 つまり、 緑色が無衝突。 黄色やオレンジが衝突した円です 。 dotと言っているのは、初期型が円というよりも、 dotに近かったからです。 参考にさせていただいた電子書籍を明記しておきます。 出典: Pythonゲームプログラミング 知っておきたい数学と物理の本  田中賢一郎 インプレスR&D この電子書籍以外にも、 インターネット上のサイトなども参考にさせていただいています。 円の衝突 動画  動画はVClipというWindowsのフリーソフトで録画しました。 END  

プログラムの道しるべ

今日はまったりと、思うがままにプログラミングしていました。 そこでつちかったノウハウ(?)というか、 自分はこんな感じで作りました。 といった手順を書いてみます。 1.tkinterテスト Windowsでの話を書きます。Python 3をインストールしている前提です。先月の投稿にもありますが、骨格というか、ウィンドウの表示をしました。Tkのテストです。Python 3ではなぜかtkinterと書きます。 2. 四角形表示テスト(ワイヤーフレームモデル) 四角形をウィンドウに表示しました。Python 3やtkinterの基本的な部分の理解ができます。例を挙げるならば、タプルやCanvas、そしてcreate_line()などです。 3. 立方体表示テスト(ワイヤーフレームモデル) 続いて行った操作が、立方体の表示です。立方体とは言いますが、上に書いてた、2.四角形表示テストと出力は同じです。いわゆる並行投影(?)というものです。しかし、中身は立方体です。中級者向けでしょうか(?)。  4. 投影方法変更など(ワイヤーフレームモデル) 自分は、この辺りはよくわかっていない可能性があります。ですので、あいまいな表現となります。投影方法を変更して、奥行きが確認できる方法に変更します。 ベストの選択肢は書籍の購入です 。インターネット上でも出来る可能性はありますが・・・ 5. Y軸周りの回転(ワイヤーフレームモデル) 我流のスタイルは、画面向かって右側にX軸をとります。上に向かってY軸。画面から自分の方向に、飛び出るように、Z軸をとります。そして、タイトルにある、Y軸の回転というのは、我流ではフィギュアスケートなどの回転と同じ考え方です。高等学校あたりで習う方式を使いますが、今回だけ横着してnumpyの行列を使いました。意味的には双方同じです。 以上の5点を順番に行いました。  気になる人がいたら、実行してみてください。 ただし、気を付ける点が一つあります。 かならず、1から順番に5まで行ってください。 理由は、自分がどこでつまずいたかわかりやすいからです。 実力が高い人ほど、順番にしない傾向にあるかもしれません。 基本をおろそかにしないために、の順番です。 約束を守れるならば、実行してみてください。 END

OpenGLのプログラミング挫折

挫折しました。 一身上の都合となります。 OpenGLの教本というか、 参考図書を所持していません。 それと、 キー入力全般がおかしくなったのが理由と言えるかもしれません。 とにかく、しばらく触らずにおこうと思います。 最近のマイブームは pygameとVS Codeです。 追記(2021年10月26日): OpenGLは復帰しましたが、 再びPygameに戻っています 。 (Python 3/Tk)も使います。 END

Hello VS Code.

イメージ
Microsoft Visual Studio Code の動作試験をしました。 マイ・コードを公開します。 表示は、これもまた マイ・コードの、 keywordhilighter.py を使用しています。 END

Windowsに出戻り

諸事情があり、 Windows機で作業の大半をすることにしました 。 Chromebookでは軽い作業などするかもしれません。 END

昨年作っていたブラウン・フォント

イメージ
実は昨年、ひらがなのフォントを作りたい! と思い、作っていました。 影響を強く受けたゲームは、任天堂のパネルでポンというゲームです。 昨年の12月は、あのゲームを頻繁にプレイしていました。 プログラミング言語は html+JavaScript です。 今年に入って、まだ本格的な活動はしていません。 ですので、続きを作るのか?作らないのか?は決まっていません。 今日は実行画像の一部をはっておきます。 タイトルにブラウン・フォントと書いていますが、一般的なfontとは違います。 画像をGIMPで描いて、文章のとおりにひらがなで表示するだけです。 元の ひらがな+漢字 の原文を ひらがな に手動で変えています。 プログラム的には( 今のインフラでは、 )簡単な部類に入ると思います。 漢字化の予定はないですが、数字とひらがな、記号の一部でもなかなかに味があるように感じています。 昨年の12月に完成しました。 パネルでポンから影響を受けたことが書かれたスクリーンショットをアップします。 強い思い入れのあるプログラムとなりました。 ひらがなブラウンfont END

Python 3/tkinter の骨格を抜き出してみました sample code

イメージ
いろいろな書き方が存在すると思います。 そんな中から、今日は我流のtkinterの骨格です。 実行すると、ウィンドウが出てきて、 ウィンドウ中央部に文字が表示されます。 プログラム(tkinter骨格) from tkinter import Frame, Canvas (wi,ht) = 300,300 fr = Frame() sc = Canvas(width=wi,height=ht) sc.pack() sc.create_text(wi//2,ht//2,text='Python/tkinter') sc.pack() fr.mainloop() プログラム説明(簡単解説) 最初の行は、 tkinterモジュールから、Frame()とCanvas()を取り出しています。 後々使います。 横幅をwi変数にとっています。 縦幅をht変数にとっています。 fr変数にFrame()を代入します。 最後でfr.mainloop()でイベントの待ち受けに入ります。 sc変数に、Canvas()を代入します。 この時、widthに横幅、heightに縦幅を代入します。 width=300 などと、自然数で書いてもよいです。 今回は変数から代入しています。 sc.create_text(x,y,text='ABC') は、 x,y座標 位置に、 ABCを表示します。 この時注意することがあります。 他の、おおよそのプログラミング言語と異なる部分があります。 x,yの座標は、文字列の左上ではなく、 文字列の中心となることです。 最初のころは、 sc.pack() はおまじないの類だと思っていればよいかと思います。 上級者はグリッドを使ったりするようです。 詳細が知りたい場合は書籍の購入などを視野にいれてみてください。 実行画像 感想 tkinterでウィンドウを表示するのが簡単に行えるのがわかったと思います。 このプログラムはインターネット上のサイトや、書籍を参考にさせていただいています。 tkinterの本体はTcl/Tkというらしいのですが、 Windows版では最初から付属しています。 つまり、Python 3をインストールすれば上のプログラムは実行できます。 自分は本家サイトの python.org/ か...

今日から再びブログで文章を書きます

昨年の末に閉鎖した、 プログラミング茶屋 の、後継のブログとなります。 名称は、 Program Lite (プログラム・ライト) と言います。 当初の趣旨 Chromebookで、ドライブを使い、 その状態でどこらあたりまでプログラミングの活動ができるのか 試す意味合いが強いです。 動画 しかし、動画の撮影は基本的に Windows 10 でしかできないので Windows機も併用します。 前回のプログラミング茶屋では、 このプログラミング言語で、ここまでできる! (逆に言えば、ほかの人ならば、もっとできる!) というデモンストレーションを主にアップロードしていました。 しかし解説は、ほとんどしていませんでした。 また、自分がブログを書くのは、文章の練習の意味合いが強いです。 読みやすくするために、 文章を短めにすることもあります。 そのような感じでしたので、今回の Program Lite では、少々解説を書いたり、感想なども付け加えることができればな、 と考えています。 後日談 趣旨は変わりました。 最近していることや、報告をメインにアップロードしています。 それと、 現在ではChromebookで動画や静止画のキャプチャーはできているようです。 END