기본 콘텐츠로 건너뛰기

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