2012-10-19 3 views
1

*.fig 파일 (Matlab)을 C#을 사용하여 비트 맵 (또는 pictureBox에서 사용할 수있는 모든 유형)으로 변환하는 데 문제가 있습니다.* .fig 파일 (Matlab에서)을 C#을 사용하여 비트 맵으로 변환하는 방법

어떻게 든이 파일을 읽고 pictureBox에 표시해야합니다.

나는 예를 들어, 여러 가지 방법을 시도 :

Image img = Image.FromFile(fileName); 
Bitmap bmp1 = new Bitmap(img.Width, img.Height); 

하지만 첫 번째 단계에서 던져 "메모리 부족"예외를 얻었다.

할 방법이 있습니까?

+5

그런 작업이 중요하지 않은 것처럼 보입니다 : http://undocumentedmatlab.com/blog/fig-files-format/ 파일 자체는 비트 맵이나 다른 이미지 형식이 아니며 실제 MATLAB 명령을 포함합니다 그것의 내부. –

+1

MATLAB 자체와 통합하여 파일 이미지를 렌더링 할 수있는 방법이 있는지 알고 싶을 수 있습니다. –

+0

다른 누군가로부터이 무화과 파일을 얻었으므로 matlab에서 일부 설정을 변경할 권한이 없습니다. – Corridaa

답변

0

메모리 부족 예외는 이미지 파일이 올바른 형식이 아닌 경우에도 발생합니다. http://msdn.microsoft.com/en-us/library/stf701f5.aspx

.fig 파일을 이미지 형식으로 변경하려면 도구를 사용해야합니다. Matlab이 .fig 파일을 저장하는 방법을 잘 모르겠습니다. 따라서 파일이 실제로 저장되는 방법에 대해 조사하거나 파일을 실행 가능한 형식으로 업데이트하는 타사 소프트웨어를 찾아야합니다. 대신에 PictureBox의

, 당신의 윈도우 폼에 패널을 넣어 :

+0

흠 .. 형식을 변경하는 다른 도구를 피하고 싶습니다.하지만 의견을 보내 주셔서 감사합니다. – Corridaa

+0

계속해서 문제를 해결하려면 그림이 필요 없습니다. Matlab에는 데이터를 다른 방식으로 저장할 수있는 그림이 있습니다. 약간의 연구에 따르면, 그것은 벡터 파일 형식입니다. 그림이 필요합니다. 어떻게 든 Matlab을 통해 또는 그림 형식으로 변환하는 과정을 통해 이미지로 렌더링해야합니다. 체크 아웃 : http://www.mathworks.com/matlabcentral/fileexchange/16906-convert-fig-files-to-images http://homepage.usask.ca/~ijm451/fig/ – Corey

1

나는 제안이있다. 그런 다음, System.Diagnostics.Process를 사용하여 matlab 뷰어를 시작하십시오 (이에 대한 필수 종속성, 미안). 지금, 당신은 창문이 시청자의 메인 창에 대한 처리 얻기 위해 여기에 지침을 사용할 수 있습니다

How to get main window handle from process id?

다음으로, 당신의 창 형태의 패널로 부모를 변경합니다.

http://support.microsoft.com/kb/89563

나는 전에이 트릭을 사용했습니다 그리고 일부 조정이 필요하지만 다른 프로세스의 주 창을 캡처하고 그 양식에 자식 컨트롤 할 수 있습니다. 이 일을하는 데 지저분한 방법을 찾을 수 있다면 좋을 것입니다.

+0

제안 사항 매우 합리적으로 보이지만 불행히도 내 응용 프로그램에서 가지고있는 다른 기능에 대해서는 언급하지 않았습니다 ... 내 말은, pictureBox에서이 그림을 물린 SQL 데이터베이스에 삽입해야한다는 것입니다 ...] 이상한 상황이 보이고, 인터넷의 무화과 파일 중 일부가 내 첫 번째 아이디어를 사용하여 작동합니다 ... – Corridaa