Microsoft MVP성태의 닷넷 이야기
Bitmap 질문 [링크 복사], [링크+제목 복사]
조회: 10978
글쓴 사람
왕초보
홈페이지
첨부 파일
 

왕초보 질문드립니다.
BMP화상을 읽어서 일정한 처리를 거친 후 화상으로 보관하려고 하는데요...

Bitmap bmp = new Bitmap(filemame);
...
bmp.save(filename);
우의 코드로 화상보관을 하면요, photoshop이나 일부 화상관련 프로그램들이 거부반응 보이는데요.^^
hex로 보관된 화상을 읽으면 "BM"으로 시작되는 BMP포맷이 아니네요.
확실하게 보관하는 방법 없을까요?








[최초 등록일: ]
[최종 수정일: 10/24/2014]


비밀번호

댓글 작성자
 



2014-10-24 01시42분
재미있군요. ^^ 그럼, 혹시 해당 파일을 Load만 하고 곧바로 Save했는데, 그 상태의 파일도 BMP 포맷이 아니던가요?
정성태
2014-10-25 05시01분
[왕초보] 하찮은 문제로 성가시게 굴어 대단히 죄송합니다.
Load한 파일을 그냥 save해도 같은 결과입니다.
이러저러하게 궁리하다가 Bitmap 인스턴스에서 Lockbit(...)메소드로 BitmapData를 얻고... 그의 주소(IntPtr)를 참조하여 화상자료를 읽어 앞머리에 수동적으로 BMP헤더를 달아 주었는데요...^^
FileStream으로 보관하니 제대로는 되는데 ㅠㅠ~~ .Net이 지원하는 BMP포맷(BGR순의 데이터 배렬은 분명 같은데 헤더부분 말입니다.)은 표준것과 다른건가요?
아니면 포맷서식을 변경하는 기능이 있는걸 제가 몰라서 그럴가요?
[guest]
2014-10-27 12시46분
음... 이상하군요. 간단하게 다음과 같이 만들고,

    Bitmap bmp = new Bitmap("test.bmp");
    bmp.Save("test2.bmp");

그냥 test.bmp 파일을 저장해 봤으나, 아무런 영향없이 잘 되는데요. 혹시 또 다른 차이점이 있을까요?
정성태
2014-10-27 02시25분
[왕초보] 제가 너무 경솔했어요.^^
Bitmap bmp = new Bitmap(filename1, ImageFormat.Bmp);
...
bmp.Save(filename2);
로 파일포맷을 명시적으로 주고 저장하니 잘 됩니다.
ImageFormat 파라미터를 ImageFormat.Jpg, ImageFormat.Png, ImageFormat.Gif...등으로 바꾸니 우와~~ 포맷변환도 너무 잘 되어서...
사실 공학자라서 프로그래밍은 부업인데... .Net환경은 접근할수록 매력있군요!!!
더불어 아낌없는 조언에 진심의 감사 드립니다. 사실 시간을 들여 남의 일을 돕는게 쉽지 않죠.
[guest]
2014-10-27 12시21분
ImageFormat은 로드한 이미지의 바이너리로부터 자동으로 인식되는데, 테스트하신 그 포맷을 Bitmap 클래스가 정상적으로 Bmp로 인식하지 않았다는 것입니다. 그것 또한 재미있군요. ^^ 암튼, 명시적으로 지정해서 해결하셨다고 하니 다행입니다.
정성태

... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4933Kay12/15/20179139C# VS 버전 에러 질문 드립니다. [1]파일 다운로드1
4932정환나라12/13/20179059vs2013에서 빌드한 com 컨트롤 객체를 닷넷 2.0에서 사용하려 합니다 [4]
4931Arvid12/12/201710081Visual Studio 2012 c# using문 참조 에러 [5]파일 다운로드1
4929김성대12/8/20178586app.config에 관한질문입니다. [1]
4928김성대12/7/20179250SQL Server 설치에러에 대한 질문입니다. [1]파일 다운로드1
4926heyh...12/6/20178477[삭제] ContextSwitchDeadlock????
4925ho12/5/20179016[삭제] WebBrowser로 드롭박스 로그인 페이지 탐색 시 발생한 문제에 대해 질문 올립니다.파일 다운로드2
4924몽중언12/3/20179461C# 디버깅 모드에서만 DB Insert가 되는 현상 질의 [6]
4923고요한11/23/20179594파일 확장자에 연결된 프로그램을 등록하는 방법에 대한 질문입니다. [2]
4922박성훈11/23/201710551시작하세요! C# 7.1 학습 방법 [3]
4921초보개발자11/20/20177780[삭제] 폼 사이즈 질문드립니다.
4920Ques...11/19/20178900IEnumerable 의 "지연된 평가" 에 관하여 질문드립니다. [2]파일 다운로드1
4919mskim11/16/20179173Split()을 이용하여 문자 구분 시 구분문자도 같이 저장하는 방법이 있나요? [2]
4917ho11/16/20179817WPF XAML 트리거 관련해 문의 드립니다. [3]
4918ho11/16/201710106    답변글 [답변]: 예제 프로젝트 첨부합니다. [4]파일 다운로드2
4916필승11/11/20179773기본 웹 브라우저 체크는 어떻게 해야 하나요? [2]
4915필승11/10/20178845WebBrowser 컨트롤 소리 출력 문의 드립니다. [2]
4914Ques...11/10/20179532c# 버튼 이벤트에 관하여 질문드립니다. [2]
4913Arvid11/8/201711942Log4Net 라이브러리를 이용하여 특정 기간이 지났을 때 자동 로그 삭제 기능 구현 질문 드립니다! [2]
4912조범희11/8/201711615C# FTP 다운로드중 에러 발생.. [2]파일 다운로드1
4911필승11/6/201710056WebBrowser 컨트롤 사용법에 대해 궁금합니다. [2]
4910진우11/6/20179639람다 초보 질문 드립니다. [2]
4909필승11/5/201710567TextBox에 관해 질문 드립니다. [5]
4908필승11/1/201713901특정 시각에 프로그램 종료 또는 재시작시 오류 발생 [8]
4907심너울10/29/20179495선생님이 쓰신 "시작하세요! C# 7.1~"으로 공부하고 있는데요~ [2]
4906guest10/25/20179068.net core, .net standard 관련해서 궁금합니다 [2]
... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...