gdi32.GetDIBits() failed
最近Pythonのライブラリの一つであるmssを使っていた際に発生したgdi32.GetDIBits() failedの対処法をメモとして残しておきます。
対処法
Githubで調べたところ以下の記述を見つけました。
With this information in hand, I resolved the issue in MY code by simply going back to instantiating "with mss.mss() as sct:" on every screenshot called.
どうやら、withを使わずfor文などで繰り返して使用するとリソースが食われ、それでエラーが発生するらしい。
確かに考えてみれば当たり前のことである。
問題の箇所を"with mss.mss() as sct:"に修正したところ、エラーも発生せず問題なく動作した。
これまであまりwithやリソースについて深く考えなかったが、考える良いキッカケとなった。