본문 바로가기

Application/C#.net46

Image Loading 후 파일 삭제 Image 객체에 파일을 불러온후 파일을 삭제할 경우 다른 프로세스 사용하고 있어 삭제할수 없는 오류가 뜬다. 아래 소스를 참고하자. string sfileName = @"D:\data\001.jpg"; string tfileName = @"D:\data\001_bak.jpg"; Image source = Image.FromFile(sfileName ); Bitmap bitmap = new Bitmap(source); Graphics g = Graphics.FromImage(bitmap); g.FillRectangle(Brushes.Black, 0, 0, 100, 5); //To do your code// bitmap.Save(tfileName); File.Delete(sfileName ); 파일 삭제에.. 2011. 10. 26.
string to stream to string string 을 Stream 으로 변환하자. string data = "Testing data"; //string to stream byte[] byteArray = Encoding.ASCII.GetBytes(data); MemoryStream stream = new MemoryStream(byteArray); 다시 Stream 을 string 으로 변환 //stream to string StreamReader reader = new StreamReader(stream); string text = reader.ReadToEnd(); Console.WriteLine( text ); 2011. 8. 31.
이미지 불러올때 Lock 걸리지 않게 C#에서 이미지 파일을 불러올때 Image.FromFile() 사용한다. 이때 파일은 Lock 걸려서 해당 Image 객체를 Dispose() 하기전에는 삭제나 변경이 되지 않는다. 이 Lock 을 피하는 방법을 소개한다. 기존 Picturebox 에 이미지를 불러오는 경우 Picturebox1.Image = Image.FromFile("somefile") 같이 사용했던 소스를 다음과 같이 수정하자 FileStream fs = new FileStream("temp.jpg", FileMode.Open, FileAccess.Read); Picturebox1.Image = Image.FromStream(fs); fs.Close(); fs.Dispose(); 2010. 12. 23.
C++ dll 을 C# 에서 사용하기 C++ 로 구현된 dll 사용시 포인터 사용시 C# 에서는 배열로 처리하면 된다. 또 dll 에서 포인터로 데이타를 다시 리턴 받는 경우에도 유용하다. 아래 함수의 경우 파일을 해당 사이즈 별로 저장하고 그 저장된 결과값을 다시 리턴해 준다. C++ 원형 extern "C" C_TEST_API BOOL WINAPI open_file(const char* filename, const char* filename2, int size, int compress, int dpi, float* scr_width, float* src_height, int* dst_width, int* dst_height); C# 사용 선언부 private static extern int open_file(char[] filename,.. 2010. 11. 11.