"참된 지혜는 실용적인 지식들의 무분별한 집적을 통해서 얻어지는것이 아니라, 모든것들을 통해서 자신을 드러내는 하나의 것을 파악하는데 있다. " - 헤라클레이토스 -

TIP 6

[python] imghdr.what() 및 지원 이미지

imghdr.what()관련. 요샌 이미지가 참 종류가 많아진것같은데, avif니 jfif니등등.. 일단, 통상 위에서 '이미지 파일들'은 이미지라고 여겨지는 것들을 말하는데, 통상 imghdr.what()에서 이미지로 판단하고 있는것들에 한해서 말한다. imghdr.what(imagefile)에서 웬만하면 이런 이미지들을  이미지로 포착한다. 어쨌던 우린 통상 jpg나 bmp나 gif, png등을 주로 사용하니 사실 이런것들이 크게 문제되지는 않는다.. (이 부분은 imghdr.what()에서 goto definition을 통해 이동하면 자세히 볼 수 있다.)imghdr.what(imgPath)는 이미지를 읽어들여서 이미지로 판단되면 해당되는 이미지가 무엇인지 그 값을 리턴하는데, 통상 이미지의 확장자..

!.. Tip 2024.09.06

파이썬 opencv에서 파비콘(favicon) 관련..

픽사고라스(pixagoras)를 갑작스레 만들어 가는 과정에서...보통 파이썬에서는 트킨터를 통해서 창을 만들고하는 그런 과정을 거치지 않고, 일단 구현해 보려는 목적에 맞게 구성을 하다 보니까, 내경우는 opencv상에서 cv2.imread와 cv2.imshow를 통해 읽었다가 보여주는 식으로 되어있다. 지금까지는 그렇게 되어있는데, favicon때문에.. tkinter와 느슨하게 조합된 상태..별로 문제는 되지 않았었는데, 얼마전에 (이번에 업 해본) exe로 만들고 몇가지 수정을 하는 과정에서 보니까, 파비콘을 넣을 방법이 궁금해졌다. 생각해보니까 현재 보는 모드가 tkinter가 아니라 opencv의 imshow로 보고있는게 아닌가.. icon의 경우는 exe를 만들때, spec파일을 수정해주면서..

!.. Tip 2024.08.23

C# 비주얼 스튜디오에서 리소스 이미지 삭제

C#윈도우 폼작업시, 비주얼 스튜디오를 이용하고는 하는데, 이때 특정이미지를 프로그램에 삽입하거나 혹은 아이콘등을 삽입하는 경우에, 해당 이미지를 더이상 사용하지 않거나 혹은 다른것으로 교체를 해버리고 나서도, 해당 이미지와 파일들은 여전히 등록되어 있는경우를 보게 된다. 캡춰 화면은 비주얼 스튜디오 화면인데, 여기서 nigth_sky나 혹은 tree, tree2같은 경우는 더이상 사용되고 있지 않는 것들이다. 이런것들이 여전히 목록속에 남아있는데, 이를 없애주고 싶다. 캡춰 화면에서 보다시피, 리소스선택이라는 폼에서는 그러한 기능이 존재하지 않는다.. 오른쪽 비주얼 스튜디오의 속성창을 보면.. Resources라는 곳에 해당파일들이 여전히 나열되어 있는것이 보인다. 이 Resource는 실제 작업실의 ..

!.. Tip 2024.08.08

rm, rmdir 파워쉘 & cmd

tip이라고도 할것도 없는얘긴데..  전통적인 cmd창의 경우.. (도스 프롬프트, dos prompt) rmdir는 폴더를 지우는 명령어인데(Remove Directory) 이 안에 뭔가 파일이나 폴더가 들어있을경우에는 삭제가 되지 않는다. 그래서  cmd상에서는 /s /q 옵션을 통해서 디렉토리를 제거하는데, 예를들어) room (폴더명 room이라고 할때) rm room ==> 오직 파일만 삭제하지, 폴더는 삭제 하지 못하게돼있다.(옵션이 붙어도 마찬가지) rmdir room ==> room폴더안에 파일등이 있으면 먹히지 않는다. rmdir /s room ==> room폴더안의 파일을 함께 지운다. 그러나, 지우기전에 물어본다.  다지워진다 괜찮으냐..? (yes/no)형태로..  rmdir /s ..

!.. Tip 2024.08.08

C#에서의 배열 일괄 초기화.

통상 배열을 0으로 일괄 초기화 한다면,C++의 경우 int myNumArr[45] = {0,}이기에C#에서는 통상.  int[] myNumArr = new int[45] { 0, }; 생각할것같은데.. 얘는 이게 안된다.그렇다고 for문을 돌린다.. ?복잡한것 싫어하는 내입장엔 그냥 쓰던것을 선호할 수 있겠다. 사실 한줄로 쓰면 얼마 안된다.int myNumArr[] = new int[45];for(int i=0;i 저렇게 두줄이 아니라 한번에 선언하면서 초기화를 시키려면 다음 처럼 해야한다. 먼저 프로그램을 짜면서 알고 넘어갔던건데, 오랜만에 또 코드를 들여다 보며 되새김해본다.int[] myNumArr = Enumerable.Repeat(0,45).ToArray();* myNumArr배열에 0으로 ..

!.. Tip 2024.08.04

함수화 시켜 사용하는 MessageBox 아이콘

private void userMessageBox(string str,string capTitle,MessageBoxIcon randomIcon) MessageBox.Show(str,capTitle,MessageBoxButtons.OK,randomIcon);다른것 검색하다 봤는데  의외로 요긴하게 쓸 수 있을것같다. 함수는 위처럼 정의해서 하단에 깔아놓고.. 특정 상황에 따라 내용과 캡션제목을 날리면서 Icon도 날려주는 방식.. 이 아이콘을 랜덤하게 보낼 수 도 있을거고, 반복문등에서 뭔가 랜덤하게 뿌려주거나 할때 유용하게 사용할듯.. 이때, 매개변수 두번째는 button컨트롤의 자리이기때문에, 저 부분은 채워 줘야 한다. Icon이 저자리 들어가면 안되니.. 지금은 OK로 채웠는데, 저것도 잘 ..

!.. Tip 2024.07.25