728x90

전체 글 260

[C# WPF] GIF 파일 재생하기 (MediaElement)

gif 파일을 실행하고 싶다면 기본 컨트롤중 MediaElement를 활용하면 재생이 가능합니다 사용법은 MediaElement me = new MediaElement(); me.Tag = strSite; me.Stretch = Stretch.Fill; me.Width = iWidth; me.Height = iHeight; me.UnloadedBehavior = MediaState.Manual; me.Source = new Uri(strImagePath, UriKind.RelativeOrAbsolute); me.MediaEnded += new RoutedEventHandler(me_MediaEnded); 컨트롤 배치 후 코드를 작성하게 되면 자동으로 gif 파일이 움직이게 됩니다 하지만 gif가 끝나는 ..

[C# WPF] Background 이미지 설정하기

UIElement (Control)의 배경 이미지를 특정 파일로 설정하려면 string strImagePath = AppDomain.CurrentDomain.BaseDirectory + @"\img.jpg"; if (File.Exists(strImagePath)) { System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(strImagePath); BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bmp.GetHbitmap() , IntPtr.Zero , Int32Rect.Empty , BitmapSizeOptions.FromEmptyOptions()); ..

[C# WPF] 이미지 화질 개선 (Bitmap 화질 높이기)

C# WPF 를 사용하다 보면 크기 조정 등으로 이미지가 깨지거나 일그러질 경우 자체적으로 보완하는 함수가 존재합니다 해당 함수는 System.Windows.Media.RenderOption.SetBitmapScalingMode 함수로 해당 함수 사용 시 옵션에 따라 개선된 이미지를 제공받을 수 있습니다 사용법은 System.Windows.Media.RenderOption.SetBitmapScalingMode(this, BitmapScalingMode); 위의 방식으로 2번째 인자값에는 public enum BitmapScalingMode { // 요약: // System.Windows.Media.BitmapScalingMode.Linear인 기본 비트맵 배율 조정을 사용합니다. Unspecified =..

[C# WPF] X / Y 좌표로 Margin 위치 구하기

C# WinForm의 경우 X, Y 좌표값으로 컨트롤을 배치하는 반면 WPF의 경우 Margin으로 좌표 위치를 구해야 합니다 그럴 경우 해당 컨트롤의 크기만 있으면 해당 Margin 값을 쉽게 구할 수 있습니다 현재 창의 크기를 가져와서 계산 후 컨트롤의 Margin 값을 대입시키면 됩니다 int iRMargin = (int)this.Width - {X_POS} - {Control_Width}; int iBMartin = (int)this.Height - {Y_POS} - {Control_Height}; {Control}.Margin = new Thickness((double){X_POS}, (double){Y_POS}, (double)iRMargin, (double)iBMartin); 위의 형태로 함..

[C# WPF] 마우스 올렸을때 변화 주기 (IsMouseOver Trigger)

xaml 파일에서 마우스 올렸을 때 TextBlock의 글자 크기나 색상을 변경시키고 싶을 때 아래와 같이 작성하면 쉽게 구현이 가능합니다 위와 같이 작성을 하면 마우스를 올리기 전 기본일 때는 폰트 크기는 12 글자 색상은 #D3D3D3 값을 가지고 있다가 마우스가 올라오면 폰트 크기는 16으로 글자 색상은 흰색으로 변경됩니다 Padding의 경우 마우스 위치를 중앙에 맞춰주기 위해 임의의 값을 넣었습니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

[C# WPF] 함수에서 다중 인자 값 넘겨 받기

함수를 사용하다 보면 다중 인자 값을 받아야 할 경우가 생깁니다 이럴 때는 아래와 같이 코드를 작성해 주시면 됩니다. public void ListLoad(params string[] strPath) { //사용법 1 foreach (string Values in strPath) { MessageBox.Show(Values); } //사용법 2 int iArgs = strPath.Length; for (int iCnt = 0; iCnt < iArgs; iCnt++) { MessageBox.Show(strPath[iCnt]); } } 사용법 1의 경우 Foreach 사용방법이고 사용법 2의 경우 인자값의 크기를 가져와서 For 문으로 처리하는 방식입니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 :)

[C# WPF] 파일의 아이콘을 추출해서 BitmapImage 변환하기

특정 파일의 아이콘을 추출하여 BitampImage로 변환을 하기 위해서는 아래와 같은 함수를 사용하면 됩니다 private BitmapImage LoadIcon(string filename) { Icon ico = System.Drawing.Icon.ExtractAssociatedIcon(filename); Bitmap bmp = ico.ToBitmap(); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.StreamSource = ms; bi.CacheOption = BitmapCacheO..

[C# WPF] StackPanel Control 구분 하기

ListView 컨트롤에서 StackPanel를 쓸 경우 여러 개의 StackPanel을 구분하기가 쉽지 않습니다 그럴 때는 함수의 자식 컨트롤에 따라 구분하시면 됩니다 우선 XAML 파일에서 아래와 같이 ListView의 DataTemplate를 작성하고 아래와 같이 cs 파일에서 특정 데이터를 Binding 합니다 MovieData []mydata = new MyData[m_iCount]; for (int iCnt = 0; iCnt < m_iCount; iCnt++) { mydata[iCnt] = new MyData { Title = "Test" + (iCnt + 1).ToString(), ImageData = LoadImage(@"...") }; } listView1.ItemsSource = myd..

[C# WPF] 배경화면 투명화

컨트롤 외 배경화면의 불투명 정도를 변경하고 싶다면 XAML에서 특정 코드를 추가해 주면 됩니다 기존 코드의 경우 이런식으로 흰색 배경을 바탕으로 위에 컨트롤이 배치가 됩니다 여기서 특정 코드를 삽입해 주면 위처럼 50프로 불투명도를 조절할 수 있습니다 더 추가해 이런식으로 배경을 없는 것처럼 투명화 되는 것도 확인할 수 있습니다 이처럼 불투명도를 조절하기 위해선 위와 같이 Window 코드 아래 해당 코드를 추가 하면 됩니다 단위는 1에서 0까지이며 반투명은 0.5와 같이 소수점으로 입력해 주면 됩니다

[Windows] 원격 데스크톱 포트 변경

윈도우의 원격의 경우 기본 원격 포트로 3389를 사용하고 있습니다 이미 알려진 포트의 경우 공격 대상이 되기 쉬우므로 다른 특정한 포트로 서비스에 등록 하여 사용하는 것을 권장합니다 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 위의 레지스트리 위치에서 PortNumber 항목을 편집 창을 열고 단위는 10진수로 변경 후 원하는 포트를 입력하면 됩니다 방화벽이 설정되어 있다면 설정 하신 포트로 방화벽 해제가 이뤄져야 하며 모든 작업이 끝나면 Command창에서 > net stop /y TermService > net start /y TermService 위의 명령어로 원격 데스크톱을 재 시작 ..

OS/Windows 2023.01.04

[Windows] 페이징 파일 (Page File) Command 설정

보통 가상 메모리 설정을 할 때는 [시스템 속성] - [고급] - [성능] - [설정] - [고급] - [가상메모리] - [변경] 위의 위치로 이동해 가상 메모리를 설정할 수 도 있지만 Command상에서 가상 메모리를 설정 하려면 wmic 명령어를 통해 가상 메모리를 설정하면 됩니다 설정 방법은 wmic pagefileset create name="C:\pagefile.sys" 위의 형식처럼 가상 메모리를 C 볼륨 하위에 생성시키고 wmic pagefileset where name="C:\pagefile.sys" set InitialSize=8192,MaximumSize=8192 생성된 가상 메모리의 크기를 지정하면 끝이 납니다 추가로 가상메로리를 제거하고 싶다면 wmic pagefileset wher..

OS/Windows 2023.01.03

[Windows] 마우스 오른쪽 버튼 메뉴 CMD 추가

마우스 오른쪽 버튼의 메뉴에서 해당 폴더의 CMD 창을 열고 싶다면 우선 레지스트리를 실행합니다 (regedit) HKEY_CLASSES_ROOT\Directory\Background\shell 해당 위치에 executecmd 키를 추가한 후 기본값에 『CMD 열기』 를 입력하고 추가로 REG_SZ 문자열 값을 추가한 후 이름은 icon 데이터는 cmd.exe 를 입력합니다 그리고 ExecuteCMD 하위 command 키를 하나 더 추가하고 기본값에 cmd.exe를 추가합니다 첨부한 레지스트리 파일을 등록하면 바로 등록되는 걸 확인하실 수 있습니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

OS/Windows 2023.01.02
728x90
반응형