-
C# hex string to image닷넷/C# 2016. 12. 7. 09:46반응형
이미지가 텍스트 파일로 저장되어 있고, 그 데이터가 16진수라면
그 파일을 읽어서 PictureBox에 불러 오는 방법.
지식인에 답변한 거에서 아주 조금 다듬음.
- 이벤트에 작성OpenFileDialog ofd = new OpenFileDialog(); // 파일열기if (ofd.ShowDialog() == DialogResult.OK){string fileName = ofd.FileName;string imgtxt = System.IO.File.ReadAllText(fileName); // 텍스트파일내용 가져오기Byte[] data = HexString2Bytes(imgtxt.Substring(2)); //string 형식인 데이터의 형식을 바이트로 바꾸기// 참고로 16진수를 나타내는 0x가 여기선 필요없으므로// 맨 앞에 두글자를 제외하도록 substring을 사용함.MemoryStream mem = new MemoryStream(data);//데이터를 이미지화pictureBox1.Image = Image.FromStream(mem);}- 함수 사용 (어딘가에서 찾아서 사용하는 중...)private byte[] HexString2Bytes(string hexString){//check for nullif (hexString == null) return null;//get lengthint len = hexString.Length;if (len % 2 == 1) return null;int len_half = len / 2;//create a byte arraybyte[] bs = new byte[len_half];try{//convert the hexstring to bytesfor (int i = 0; i != len_half; i++){bs[i] = (byte)Int32.Parse(hexString.Substring(i * 2, 2), System.Globalization.NumberStyles.HexNumber);}}catch (Exception ex){MessageBox.Show("Exception : " + ex.Message);}//return the byte arrayreturn bs;}cs 반응형'닷넷 > C#' 카테고리의 다른 글
C# FTP 연결 확인 및 파일 다운로드 (0) 2017.01.10 C# DB에 이미지가 16진수로 저장되어 있을 때 (0) 2016.12.07 C#에서 MDB(MS Access) 파일 압축하기 (0) 2016.10.11 C# 해당 월의 마지막 날짜 구하기 (0) 2016.09.22 C# 레지스트리 읽기, 쓰기 (0) 2016.09.22