본 자료는
1. 신규 이미지 제작 시 주의사항
2. 기존 이미지 변환 시 주의사항
3. SmartImageTester 및 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을 통해 변환할 이미지와 함께 보내주시면 이미지를 변환해드립니다.
이미지 변환 신청서 | |||
---|---|---|---|
업체명 | 담당자 | ||
연락처 |
사용할 이미지 혹은 사용중인 이미지의 에러 발생 유무를 확인하기 위해서 SmartImageTester와 SmartImageChecker 프로그램을 제공하고 있습니다.
SmartImageTester의 경우 실제 프로그램에서 이미지를 빠른 속도로 반복적으로 출력하여 에러 발생을 확인할 수 있는 프로그램이고 SmartImageChecker의
경우 원본 이미지 파일의 정보를 확인하여 설정된 DPI와 사용된 Photoshop 버전을 확인하여 에러 발생 유무를 확인합니다.
이미지 확인의 경우 두개의 프로그램 중 하나만 사용하는 것이 아닌 두개를 전부 사용하여 테스트하는 것을 권장 드리며, 앞으로 출시될 Photoshop 버전 등에 대해서는 완벽하게 필터링하지 못하기 때문에 참고해주시기 바랍니다.
SmartImageChecker 프로그램은 반드시 최신 버전을 사용하시기 바라며, 현재 최신 버전은 1.0.0.5 버전입니다. 최신 버전 및 업로드 날짜는 아래의 바로가기 링크를 통해 다운로드 페이지로 이동하여 확인하실 수 있습니다.
우측의 바로가기 버튼을 클릭하면 SmartImageChecker 프로그램을 다운로드 받을 수 있는 페이지로 이동됩니다.
• 링크 : [SmartX 홈페이지(www.smartx.co.kr)] → [SmartImageChecker] → [SmartImageChecker 다운로드] |
※ 이미지 크기(가로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;
}
}