기본 콘텐츠로 건너뛰기

7월, 2013의 게시물 표시

이미지 파일을 알파채널을 가진 BMP 파일로 변환

아래와 같이 간단하게 할 수 있습니다. if (5 == args.Length) { string sInutFilePath = args[0]; string sOutputFilePath = args[1]; int iRed = Convert.ToInt32(args[2]); int iGreen = Convert.ToInt32(args[3]); int iBlue = Convert.ToInt32(args[4]); Bitmap bmp = Image.FromFile(sInutFilePath) as Bitmap; bmp.MakeTransparent(Color.FromArgb(iRed, iGreen, iBlue)); bmp.Save(sOutputFilePath, ImageFormat.Bmp); } else { Console.WriteLine("Usage: png2bmp32 "); }

MessageBox with custom icon

MSGBOXPARAMS msgbox = { 0 } ; msgbox . cbSize = sizeof ( msgbox ) ; msgbox . dwStyle = MB_USERICON | MB_OK ; // MB_USERICON - flag for "lpszIcon" msgbox . hInstance = GetModuleHandle ( 0 ) ; // handle of file with icon msgbox . hwndOwner = hWnd ; // parent window msgbox . lpszIcon = ( LPTSTR ) IDI_ICOID ; // ID of icon msgbox . lpszCaption = " Caption " ; msgbox . lpszText = " MessageBox with user icon " ; MessageBoxIndirect ( & msgbox ) ;

Val 함수 버그

VB는 거의 사용하지 않는데, 문의가 와서 확인을 해보니 아래와 같이 Val 함수 버그가 있었습니다. Val ( "5D1" ) 결과값을 5로 기대하겠지만 Val 함수는 50을 리턴합니다. 즉 이러한 문제를 피하기 위해 하는 수 없이 함수를 만들어 사용해야만 합니다. Function myInt ( s As String ) As Integer For i = 1 To Len ( s ) If IsAlpha ( Mid ( s , i , 1 ) ) Then Exit For End If Next If i > 1 Then s = Mid ( s , 1 , i - 1 ) End If myInt = Val ( s ) End Function Function IsAlpha ( s As String ) As Boolean Dim i As Integer Dim ch As Byte IsAlpha = True For i = 1 To Len ( s ) ch = Asc ( UCase $ ( Mid ( s , i , 1 ) ) ) If Not ( ( ch > = 65 ) And ( ch < = 90 ) ) Then IsAlpha = False Exit For End If Next i End Function --- Val 에러를 방지하는 방법 Many programmers use VB's Val() function to convert user inputted strings into numbers. This useful function returns zero (0) f...

MDL(USTN J) 프로그래밍시 유의 사항

J버전용 MDL 프로그램을 개발할 때 편집기를 VS를 사용하는데, 일반적으로 MDL 소스 파일의 확장자가 .mc라 편집기에서 문법 강조가 되지 않아 확장자를 .c로 바꾸어 사용 했습니다. 지금껏 잘 사용하다가 어떤 프로그램을 개발할때 MKE 파일에서 링크가 제대로 되지 않거나, 인클루드 구문이 제대로 기능을 발휘하지 못하는 현상이 발생했습니다. 한참을 그 원인을 찾다가 확장자 때문에 그렇다는 것을 알게되었습니다. 즉 확장자를 .c에서 .mc로 바꾸면 위의 문제가 사라지는 것이었습니다. 그런데 그렇게 하면 문법 강조를 사용할 수 없다는 사소한 문제가 있습니다. VS의 메뉴를 이것저것 찾아보다가 확장자를 추가해서 문법 강조를 사용할 수 있는 방법을 찾았습니다. Tools->Options