본 자료는
1. 신규 이미지 제작 시 주의사항
2. 기존 이미지 변환 시 주의사항
3. SmartImageTester 및 SmartImageChecker 프로그램 안내
3-1) SmartImageTester 사용방법
3-2) SmartPictureBox에서의 이미지 출력 방법에 따른 에러 발생 유무
3-3) SmartImageChecker 사용방법
순서로 진행합니다.
사용자 인터페이스(UI)에 적용될 이미지를 제작할 때는 반드시 Photoshop을 사용하여 작업해야 합니다.
다만 Photoshop 버전과 저장할 때의 설정 등에 대해서 아래의 내용을 반드시 확인 후 이미지를 제작하시기 바랍니다.
※ 본 내용은 SmartX Framework를 사용하지 않을 경우에도 해당하는 내용으로 IEC-Series에서 사용자 인터페이스(UI) 이미지를 작성할 경우 반드시 숙지하시기 바랍니다.
1. 신규 이미지 제작 시 주의사항
신규 이미지를 제작할 경우에는 아래의 DPI, Format Type, Photoshop 버전들을 확인하여 제작하지 않을 경우 임의의 시점에서 에러가 발생할 수 있기 때문에 반드시 권장 설정에 맞춰 이미지를 제작하시기 바랍니다.
[DPI] : 96dpi (필수)
[Format Type] : PNG (권장)
[Photoshop 버전] : Photoshop CS6(13.0), Photoshop CC 2014, Photoshop CC 2015 (필수)
DPI 및 Photoshop 버전을 권장 사항에 맞춰 제작하지 않을 경우 응용 프로그램 오류 및 Object Disposed Exception 등이 발생하게 됩니다.

이미지를 제작할 때 Photoshop CS6(13.0), CC 2014, CC 2015 버전을 사용하지 않고 제작한 경우에는 권장 버전의 Photoshop을 사용하여 다시 저장하는 과정을 통해 에러 발생을 방지할 수 있습니다. 다만 다시 저장하여 버전을 변환하는 경우에는 반드시 Photoshop CS6(13.0) 버전을 사용해야 에러가 발생하지 않습니다. (Photoshop CC 2014, CC 2015의 경우에는 에러 발생 해결 불가)
이미지 변환 시 사용할 수 있는 Photoshop 버전 | Photoshop CS6(13.0) |
---|---|
이미지 변환을 지원하지 않는 Photoshop 버전 | Photoshop CC 2014, Photoshop CC 2015, Photoshop CC 2017, Photoshop CC 2018, Photoshop CC 2021 (그 외 이후 버전 포함) |
Photoshop CS6(13.0) 버전의 경우 이전 버전의 Photoshop이기 때문에 해당 버전으로 이미지를 변환할 수 없는 경우에는 아래의 양식에 따라 내용을 작성한 뒤 E-Mail을 통해 변환할 이미지와 함께 보내주시면 이미지를 변환해드립니다.
이미지 변환 신청서 | |||
---|---|---|---|
업체명 | 담당자 | ||
연락처 |
3. SmartImageTester 및 SmartImageChecker 프로그램 안내
개발 프로그램에 적용되는 이미지 호환성 및 에러발생 유무를 확인하기 위해
SmartImageTester와 SmartImageChecker 프로그램을 제공하고 있습니다.
SmartImageTester | SmartImageChecker | |
---|---|---|
방식 | IEC - Series에 테스트 할 이미지를 빠른 속도 및 반복적으로 화면 출력하여 에러 발생 이미지를 확인하는 프로그램 |
이미지 정보 확인 프로그램 (PhotoShop 버전, 이미지의 DPI 확인) |
검사 조건 | 사용자 인터페이스(ui) 이미지 필요 | |
사용 방식 | IEC - Series에 프로그램 실행 | PC에 프로그램 실행 |
체크 소요시간 | 테스트 시간 발생 함 | PC에서 바로 확인 가능 |
적용 | 권장 | 필수 |
※ SmartImageTester, SmartImageChecker 프로그램을 사용하기 위해서는 사용자 인터페이스(UI)에 적용 된 이미지를 취합하여야만 확인 가능합니다.
3-1) SmartImageTester 사용 방법
SmartImageTester 프로그램은 "TechNote81_Example.zip" 첨부파일을 다운로드하시기 바랍니다.
|




※ 이미지 크기(가로X세로)가 400 이하, 5353 이상인 이미지는 에러가 검출되지 않기 때문에 검사 대상에서 자동으로 제외됩니다. 그렇기 때문에 반드시 SmartImageChecker 프로그램과 함께 사용하시기 바랍니다.


SmartPictureBox에는 이미지를 ImageList에 저장하여 출력하는 방식과 저장하지 않고 이미지의 인스턴싱을 통해 이미지를 출력하는 방법 두가지가 있습니다. 두가지의 출력 방식에서 에러 발생에 대한 차이점이 있습니다.
[CASE-1] 이미지를 ImageList에 저장하여 출력하는 방식이미지를 ImageList에 저장하여 출력하는 방식의 경우 ImageList에 이미지를 추가하는 과정에서 한번만 인스턴싱을 진행하기 때문에 비교적 이미지 에러의 발생하는 시점이 느리다는 점이 특징입니다. 다만 이와 같은 경우 추후 프로그램 동작 중 임의의 시점에서 에러가 발생할 가능성이 높기 때문에 반드시 SmartImageTester를 사용하여 에러 이미지 확인을 진행하시기 바랍니다.
private void btnStart_Click(object sender, EventArgs e)
{
smartPictureBox1.AddImageList("SD Card\\Image\\TestImage_1.png");
smartPictureBox1.AddImageList("SD Card\\Image\\TestImage_2.png");
smartPictureBox1.AddImageList("SD Card\\Image\\TestImage_3.png");
smartPictureBox1.AddImageList("SD Card\\Image\\TestImage_4.png");
smartTimer1.Start();
}
private void smartTimer1_Tick(object sender, EventArgs e)
{
smartPictureBox1.DrawNext();
}
Image 속성에 이미지를 적용하여 이미지를 출력하기 위해 출력할 이미지를 출력하는 시점에서 항상 인스턴싱을 진행하기 때문에 비교적 이미지 에러가 빠르게 발생합니다. 이미지를 반복적으로 변경하는 경우에는 [CASE-1]과 같은 방법이 적합하지만 에러 이미지를 확인하기 위해서는 에러가 빠르게 발생하는 [CASE-2]와 같은 방법을 사용하는 것이 좋습니다. SmartImageTester의 경우 에러 이미지가 있는 경우 [CASE-2]의 방식을 사용하여 최대한 빠르게 에러를 발생시켜 에러 이미지 유무를 확인할 수 있도록 제작되었습니다.
private List<string> m_lstTestImagePathG1 = new List<string>();
private int m_iImageCountG1;
private void btnStart_Click(object sender, EventArgs e)
{
m_lstTestImagePathG1.Add("SD Card\\Image\\TestImage_1.png");
m_lstTestImagePathG1.Add("SD Card\\Image\\TestImage_2.png");
m_lstTestImagePathG1.Add("SD Card\\Image\\TestImage_3.png");
m_lstTestImagePathG1.Add("SD Card\\Image\\TestImage_4.png");
smartTimer1.Start();
}
private void smartTimer1_Tick(object sender, EventArgs e)
{
smartPictureBox1.Image = new Bitmap(m_lstTestImagePathG1[m_iImageCountG1]);
m_iImageCountG1++;
if (m_iImageCountG1 >= m_lstTestImagePathG1.Count)
{
m_iImageCountG1 = 0;
}
}
3-3) SmartImageChecker 사용 방법