검색결과 리스트
전체 글에 해당되는 글 199건
- 2020.08.21 C# 이미지 그리기, 출력
- 2020.08.20 C# NAudio MicroPhone 볼륨 조절
- 2020.07.28 Visual Studio 2019 한글 형식(인코딩). 유니코드, EUC-KR
글
C# 이미지 그리기, 출력
그림을 출력할때, 다음과 같은 방법이 있다.
- 절대 경로
imgTest.Source = new BitmapImage(new Uri(@"C:\Image\test.png", UriKind.Absolute));
- 상대 경로
imgTest.Source = new BitmapImage(new Uri(@"\test.png", UriKind.Relative));
- 상대 경로(리소스)
imgTest.Source = new BitmapImage(new Uri(@"\test.png", UriKind.Relative));
imgTest는 이미지 도구상자 이름이다.
BitmapImage 2번째 인자는
https://docs.microsoft.com/ko-kr/dotnet/api/system.urikind?view=netcore-3.1
- 이렇게 저장해서 필요할 때 쓰기도...
BitmapImage bitTmp = new BitmapImage(new Uri(@"\Image\1.png", UriKind.Relative));
imgTeset.Source = bitTmp;
- 리소스 방식을 쓸때는 리소스에 추가해서 써야한다.
리소스 관리 페이지로 들어가서
리소스를 추가하고
추가된 파일의 속성을 바꾸면 끝.
'프로그래밍 언어 > C#' 카테고리의 다른 글
C# RGB 출력, YUV420 -> RGB로 출력 (0) | 2020.09.01 |
---|---|
C# NAudio MicroPhone 볼륨 조절 (0) | 2020.08.20 |
글
C# NAudio MicroPhone 볼륨 조절
private void sourceStream_DataAvailable(object sender, NAudio.Wave.WaveInEventArgs e)
{
byte[] encoded = e.Buffer;
if (reLen + encoded.Length < 70000)
{
if (recordingFirstSkip > 6)
{
encoded.CopyTo(recordingStream, reLen);
int i;
float multiplier = 12.0f; // 볼륨 Gain
for (i = 0; i < encoded.Length; i = i + 2)
{
Int16 sample = BitConverter.ToInt16(encoded, i);
sample = (Int16)(sample * multiplier);
byte[] sampleBytes = BitConverter.GetBytes(sample);
encoded[i] = sampleBytes[0];
encoded[i + 1] = sampleBytes[1];
}
encoded.CopyTo(recordingStream2, reLen);
reLen += encoded.Length;
}
else
{
encoded.CopyTo(recordingStream, reLen);
encoded.CopyTo(recordingStream2, reLen);
recordingFirstSkip++;
}
}
}
'프로그래밍 언어 > C#' 카테고리의 다른 글
C# RGB 출력, YUV420 -> RGB로 출력 (0) | 2020.09.01 |
---|---|
C# 이미지 그리기, 출력 (0) | 2020.08.21 |
글
Visual Studio 2019 한글 형식(인코딩). 유니코드, EUC-KR
문자를 입력 받았을 경우, 한글인지 아닌지 판별하기 위하여 작업 도중,
WCHAR, char의 한글 형식을 같은 유니코드를 사용하고 있는 줄 알았으나
값이 다르게 나와서 찾아 보았다.
한글의 형식은 컴파일러마다, 운영체제마다 다르다고 한다.
Window10, Visual Studio 2019의 환경에서
WCHAR 형은 유니코드를 사용하고
char 형은 EUC-KR을 사용하는 것 같다.
ex)
//WCHAR eee[20] = TEXT("가나하");
unsigned char eee[20] = "가나하";
unsigned char eee1;
unsigned char eee2;
eee1 = *((unsigned char*)eee + 0);
eee2 = *(((unsigned char*)eee) + 1);
TextMB::Box(eee1, eee2);
eee1 = *((unsigned char*)eee + 2);
eee2 = *(((unsigned char*)eee) + 3);
TextMB::Box(eee1, eee2);
eee1 = *((unsigned char*)eee + 4);
eee2 = *(((unsigned char*)eee) + 5);
TextMB::Box(eee1, eee2);
유니코드 | WCHAR | char | |
가 | AC00 | 00AC | B0A1 |
나 | B098 | 98B0 | B3AA |
하 | D558 | 58D5 | C7CF |
둘 다, 두번째 바이트에 최상위 비트가 1인지 0인지 확인하면 한글 판별이 가능할 것 같다.
그런데 WCHAR의 값은 리틀엔디안 형식이니 반대로 나온게 맞는것 같은데,
char의 값은 그대로 나왔다. 뭐지..?
-- 유니코드 문자표
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EC%98%81%EC%97%AD
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_A000~AFFF
-- EUC-KR 문자표
https://uic.win/ko/charset/show/euc-kr/
-- CP949
https://charset.fandom.com/ko/wiki/CP949
EUC-KR를 찾다가 보니 CP949, KS X 1001, KS X 1003 등등 여러 인코딩이 나오던데
언급은 하지 않겠다...
'프로그래밍 언어 > WinApi' 카테고리의 다른 글
win32api 서브클래싱, 전역클래싱, 슈퍼클래싱 (0) | 2020.07.27 |
---|---|
Visual Studio 2019 win32api 아이콘 변경이 안된다 (0) | 2020.07.22 |
Visual Studio 2019 sprintf 에러 끄기 (0) | 2020.07.22 |
윈도우즈 디바이스 드라이버 개발 방법 (0) | 2014.12.18 |
Winapi) tooltip track이 안될 때 (0) | 2014.11.28 |