Microsoft MVP성태의 닷넷 이야기
picturebox의 image.dispose [링크 복사], [링크+제목 복사],
조회: 19261
글쓴 사람
guest (leehh1412 at hotmail.com)
홈페이지
첨부 파일
 

        private void Screenmn()
        {
            while (true)
            {
                Bitmap bitmap = new Bitmap(setX, setY);
                Graphics g = Graphics.FromImage(bitmap);
                g.CopyFromScreen(setL, new Point(0, 0), new Size(setX, setY));
                pic_monitor.Image = bitmap;
                g.Dispose();
                GC.Collect();
                Thread.Sleep(50);
            }
        }

이런 코드가 있습니다.

원래 GC를 호출하는 대신
                //if (pic_monitor.Image != null)
                //{
                // pic_monitor.Image.Dispose();
                //}
코드를 썻었는데요.

Dispose할때 컨트롤의 위치에 변화가 일어나면 오류가 발생합니다.
하지만 GC를 쓰기에도 닭잡는데 소칼쓰는느낌이라 영 꺼려지네요(오류는 발생하지 않습니다.)
Dispose말고 다른 Image에 있는 데이터를 지우는 방법이 있을까요?

아니면 픽쳐박스가 아닌 더 좋은 방법이 있을까요?

책에 소멸자항목을 봐도 따로 컨트롤에 대한 이야기는 없어서요.

추가로 멀티쓰레딩을 이용하는데
thread.abort();
를 이용하면 쓰레딩관련오류가나네요.
코드가 딱 저거인데 종료시키기 전에 따로 해야하는게 있을까요?








[최초 등록일: ]
[최종 수정일: 1/29/2017]


비밀번호

댓글 작성자
 



2017-01-31 12시48분
재현되는 최소한의 예제 코드를 올려주세요. 참고로, 그냥 봐서는 pic_monitor가 다른 스레드에서 생성한 UI 요소 같은데 bitmap을 생성했으면 그냥 pic_monitor를 생성한 스레드로 bitmap 객체를 전달하는 식으로 처리하는 것이 더 낫습니다. Thread.Abort를 이용하면 당연히 스레딩 관련 오류가 발생합니다.
정성태

1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5785음성인식1/8/202312510음성인식 System.Speech - 문법에 사용된 언어가 음성 인식기의 언어와 일치하지 않습니다. [2]
5784MS워드1/8/202311609MS워드에서 ctrl Z는 클립보드를 이용하나요? 아니면 참조자 이용하나요? [7]
5783구직자1/7/202310865C#개발자 구인광고와 초급개발자 [3]파일 다운로드1
5782Sqli...1/5/202311649윈도우11 노트북에서 exe(Sqlite)만들어 윈도우 7 PC에 설치 시 [5]
5781List맨1/5/202311690List.Add("newobj") 속도는 빠른 편인지요? [11]
5780임세1/3/202313530C# 프로그래밍 10 책 구매한 사람입니다. 3부 자료는 어디서 다운 받을 수 있나요? [4]
5779이건우1/2/202311761안녕하십니까 루프안에서 메세지처리에 관하여 질문드립니다! [2]
5778이건우12/30/202212668안녕하세요 c#에서 dll참조 관련 질문드립니다. [4]
5777감사합니...12/29/202211440UI Thread에 Invoke 처리관련 궁금합니다. [3]
5776pdf맨12/28/202211049C# MouseUp Event + pdf [10]
5775민성12/28/202211089안녕하세요 Class 관련해서 예외처리를 하나로 받아낼수 있는 방법 [1]
5774중급12/27/202212492중급개발자란 어느 수준인지요? [4]
5773김영식12/26/202211366c# 압축파일 읽어 올 때 BinaryRead 한글 처리 문제 [1]
5772눈송이12/26/202211894Excel VSTO 는 왜 Net Core, Net 5, 6 버전을 사용하지 않나요? [2]
5771김훈12/26/202211623c# .net client application 망분리(내부망,외부망) 환경에서 의문의 외부사이트 호출 대기 [2]
5770lsh12/26/202211113클라우디움안에 있는 파일을 File.Copy 하고싶은데 코드로는 접근을 못하나요? [1]
5769울타리12/20/202211667Active Directory 2012R2 2016 또는 2019 마이그렝션 문의 드립니다. [1]
5768c++12/14/202214124Thread를 사용한 C++ DLL에 관련된 질문입니다. [6]파일 다운로드2
5767민성12/9/202211342안녕하세요 ashx로 화일을 저장하고 화일명을 리턴하는데요 [1]
5766김명훈12/9/202211498웹브라우저에서 묻지 않고 바로 다운로드 [2]
5765hong12/1/202211914Winform(.Net6) 클라이언트에서 SignalR Core 웹서버에 접속시 인증서 문제 [3]파일 다운로드1
5764요한11/30/202212001c++ 동일한 객체인지 비교 방법문의 [2]
5763고필석11/30/202211278시작하자마자 비정상 종료하는 프로세스에 대한 문제 해결 조언 요청 드립니다. [3]
5762흰털너부리11/30/202211313wpf mvvm ui update 로딩중 표시 [1]
5761민성11/29/202211222죄송하지만 한가지만 더 여쭈어 보겠습니다 [1]
5760민성11/29/202211338안녕하세요 [2]
1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...