Tip/Windows2023. 9. 22. 01:02

 C#을 배우면서 간단한 이미지 뷰어를 만들어 보았다.

기능:

 Drag & Drop 

R / L  키로 이미지 회전

Left, Right 화살표 키로 이미지 전환 (같은 폴더내)

Up 화살표키: 첫번째 이미지 (알파벳 순)

Down 화살표키: 마지막 이미지 (알파벳 순)

 

전체 소스코드:

https://github.com/chobocho/choboImageViewer

 

GitHub - chobocho/choboImageViewer: Simple image view by c#

Simple image view by c#. Contribute to chobocho/choboImageViewer development by creating an account on GitHub.

github.com

 

실행파일:

- 경고: 사용시 발생하는 어떤 이슈도 책임 지지 않습니다.

ImageViewer_32bit.zip
0.16MB

구현 관련

1. 메모리릭 이슈

-  PictureBox 에 이미지를 바꿀 때에는 반드시, dispose() 메서드 호출 후 null을 대입해야 한다.

            if (pictureBox.BackgroundImage != null)
            {
                pictureBox.BackgroundImage.Dispose();
                pictureBox.BackgroundImage = null;
            }

2. 파일을 읽어서, 파일이 위치한 폴더의 모든 이미지 파일 읽기. (Chat GPT 형님의 도움을 받았다)

    public void setFileName(string? filename)
    {
        if (filename == null || !File.Exists(filename)) return;
        string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".gif", ".bmp", "ico" }; 
        
        // 이 부분 입니다.
        _filesList = Directory.GetFiles(Path.GetDirectoryName(@filename) ?? string.Empty)
            .Where(file => imageExtensions.Contains(Path.GetExtension(file).ToLower()))
            .Select(Path.GetFullPath).ToArray();

        Array.Sort(_filesList);
        _index = Array.IndexOf(_filesList, filename);
    }

3. 이미지 회전

- 여기서는 dispose() 메서드 호출 하지 않는다. 호출 하면 이미지 객체가 삭제된다.

- 마지막에 pictureBox.Refresh() 메소드를 꼭 호출해 주어야 회전한 이미지로 업데이트 된다.

        void rotateImage(System.Drawing.RotateFlipType angle)
        {
            var LoadedImage = pictureBox.BackgroundImage;
            LoadedImage.RotateFlip(angle);

            pictureBox.BackgroundImage = LoadedImage;

            var width = LoadedImage.Width > minimumSize ? LoadedImage.Width : minimumSize;
            width = LoadedImage.Width > maximumSize ? maximumSize : width;

            var height = LoadedImage.Height > minimumSize ? LoadedImage.Height : minimumSize;
            height = LoadedImage.Height > maximumSize ? maximumSize : height;

            this.Width = width;
            this.Height = height;

            pictureBox.Refresh();
        }

'Tip > Windows' 카테고리의 다른 글

[ScanSnap] 스캔스냅 사용팁  (0) 2021.08.09
[Excel] 엑셀 수식 자동 계산이 안 될 때  (0) 2021.08.07
검색 잘 하기  (0) 2021.08.07
Posted by chobocho
Tip/Windows2021. 8. 9. 02:30

* 스캔스냅 으로 대량 자료 스캔시, 자동 회전이나 빈 페이지 삭제 기능이, 오히려 불편함을 초래 할 때가 있다.

해당 기능을 off 하려면 아래와 같다

'Tip > Windows' 카테고리의 다른 글

[C#] PictureBox 로 간단한 이미지 뷰어 만들기  (0) 2023.09.22
[Excel] 엑셀 수식 자동 계산이 안 될 때  (0) 2021.08.07
검색 잘 하기  (0) 2021.08.07
Posted by chobocho
Tip/Windows2021. 8. 7. 00:35

파일 > 옵션 > 수식에서 아래와 같이 

통합 문서 계산 > 자동  을 선택하며 된다.

'Tip > Windows' 카테고리의 다른 글

[ScanSnap] 스캔스냅 사용팁  (0) 2021.08.09
검색 잘 하기  (0) 2021.08.07
Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
Posted by chobocho
Tip/Windows2021. 8. 7. 00:31

1. 검색은 구글에서 하는 이다.

 

2. 핵심 검색어를 포함해라.

* 반드시 문장으로 써야 할 필요는 없다. 핵심 키워드만 나열해도 된다.

3. 특정 site 자료만 검색하는 방법

* 검색어 site:주소   와 같이 써주면 된다.

4. 내가 찾는 단어들이 반드시 포함된 사이트만 검색하기

  • 검색어 사이에 '+' 써주면 된다.
  • 예: 안드로이드, 테트리스, 만들기 3 단어가 반드시 포함된 사이트를 찾기

'Tip > Windows' 카테고리의 다른 글

[Excel] 엑셀 수식 자동 계산이 안 될 때  (0) 2021.08.07
Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
Batch file 템플릿  (2) 2020.12.22
Posted by chobocho
Tip/Windows2021. 4. 15. 01:19

AA 건전지 2개로 동작 가능 함

USB-C로 PC와 연결시 건전지 불필요

* IPAD 8세대와 연결시 동작 잘 안함

* 갤럭시 휴대폰과는 동작 잘 됨

'Tip > Windows' 카테고리의 다른 글

검색 잘 하기  (0) 2021.08.07
Batch file 템플릿  (2) 2020.12.22
WireShark 기초 (PCAP에서 파일 추출)  (0) 2020.11.24
Posted by chobocho
Tip/Windows2020. 12. 22. 23:16
@REM batch file script
@REM  _________________________________________________________________________
@REM /
@REM |  REM	주석문을 위한 명령어.
@REM +-------------------------------------------------------------------------	  
@REM |  
@REM |  @를 붙여주어야 다시 화면에 나타나지 않는다.
@REM |  
@REM |  ECHO 의미 그대로 화면에 명령어를 보여준다.
@REM |  echo Hello, World!
@REM |
@REM |  Hello, World! 
@REM |  
@REM +-------------------------------------------------------------------------	  
@REM |  CLS	화면을 깨끗하게 지워준다
@REM +-------------------------------------------------------------------------	
@REM |  PAUSE 아무키나 누를떄 까지 잠시 실행을 중단한다.
@REM +-------------------------------------------------------------------------	
@REM |  IF	C의 IF와 비슷하다.
@REM |  
@REM |  IF CONDITION == end GOTO END
@REM +-------------------------------------------------------------------------
@REM |  GOTO 지정된 LABEL로 점프를 한다.
@REM |
@REM |  GOTO END
@REM |
@REM |  data.txt 파일이 존재하면 EXECUTE로 점프
@REM |  IF EXIST data.txt GOTO EXECUTE 
@REM |  
@REM +-------------------------------------------------------------------------
@REM |  5초간 대기
@REM |  
@REM |  timeout /t 5
@REM +-------------------------------------------------------------------------	   
@REM | https://chobocho.tistory.com
@REM +-------------------------------------------------------------------------

@echo off

echo ######                                                  
echo #     #   ##   #####  ####  #    #                      
echo #     #  #  #    #   #    # #    #                      
echo ######  #    #   #   #      ######                      
echo #     # ######   #   #      #    #                      
echo #     # #    #   #   #    # #    #                      
echo ######  #    #   #    ####  #    #                      

batch.bat
0.00MB

'Tip > Windows' 카테고리의 다른 글

Xbox 4세대 컨트롤러 사용기  (0) 2021.04.15
WireShark 기초 (PCAP에서 파일 추출)  (0) 2020.11.24
대량의 파일 지우기  (0) 2020.09.22
Posted by chobocho
Tip/Windows2020. 11. 24. 23:14

PCAP 파일에서 image 파일 추출 하기

1. WireShark로 통신 패킷을 캡여하여, PCAP 파일로 저장한다


2. WireShark으로 저장한 파일을 연다

http_tetris.pcapng
0.58MB

3. HTTP object를 추출 한다


4. 이미지 파일을 저장한다
→ left.png 를 선택한 다음 저장 버튼을 누른다


5. 저장된 파일을 확인한다

Posted by chobocho
Tip/Windows2020. 9. 22. 23:41

탐색기로 많은 파일을 지울 때 생각보다 시간이 오래 걸린다.

이럴 때에는 command 창을 열고 아래 명령어를 실행 하면 빠르게 지울 수 있다.

del /F /S /Q  [삭제할 폴더] 
rd /S /Q  [삭제할 폴더]

* 주의: 조심해서 사용 해야 함.

Posted by chobocho
Tip/Windows2020. 2. 22. 16:43

'Tip > Windows' 카테고리의 다른 글

대량의 파일 지우기  (0) 2020.09.22
갤럭시 북 이온 - 터치패드 무선 충전  (0) 2020.02.04
Windows10 에서 타임라인 기록 삭제하기  (0) 2019.09.01
Posted by chobocho
Tip/Windows2020. 2. 4. 21:15
갤럭시 북 이온에서 터치패드를 이용 하여 무선 충전하는 방법
 
Fn + F11 을 누르고 터치패드에 무선 충전을 지원하는 휴대폰이나, 무선 이어폰을 올려 두면 된다.
 
 
 
Posted by chobocho