티스토리 툴바


이전에 올린 MinGW 에서 GDI+ 사용하기로 제공한 소스를 ...

MinGW 4.4.1 또는 그 이상의 버젼의 컴파일러에서 GDI+ 를 쓰기 위해 기존 코드를 이용할 경우 다음 두 오류가 발생 합니다.


GdiplusStringFormat.h:243: error: extra qualification 'Gdiplus::StringFormat::' on member 'GetTrimming'

GdiplusMetafile.h:350: error: extra qualification 'Gdiplus::Metafile::' on member 'EmfToWmfBits'


이는 다음과 같이 해결 될 수 있는데, 좀 더 요긴 한 처리가 필요하긴 합니다.

먼저, GdiplusStringFormat.h 에서 (242~243 라인 부근) StringTrimming StringFormat::GetTrimming() const 형을 StringTrimming GetTrimming() const 로 바꿔 줍니다.

    StringTrimming GetTrimming() const
    // StringTrimming StringFormat::GetTrimming() const
    {
        StringTrimming trimming;
        SetStatus(DllExports::GdipGetStringFormatTrimming(
            nativeFormat,
            &trimming
        ));
        return trimming;
    }

위 처럼 주석으로 막던, 직접 지우던, GetTrimming() const 가 StringFormat class 에 포함되지 않으면 됩니다.

다음은 GdiplusMetafile.h 에서 350번 라인 근처의 static UINT Metafile::EmfToWmfBits 형을 static UINT EmfToWmfBits 으로 바꿉니다.
아래 처럼 되겠네요.

	static UINT EmfToWmfBits(
    //static UINT Metafile::EmfToWmfBits(
        IN HENHMETAFILE       hemf,
        IN UINT               cbData16,
        IN LPBYTE             pData16,
        IN INT                iMapMode = MM_ANISOTROPIC,
        IN EmfToWmfBitsFlags  eFlags = EmfToWmfBitsFlagsDefault
    )

이제 컴파일 하면 문제 없이 사용할 수 있을것으로 보입니다.
혹시 해서 수정된 GDI+ header 를 zip 파일로 첨부 합니다.
필요 하신 분들은 도움이 되면 좋겠습니다.

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1263 관련글 쓰기

댓글을 달아 주세요



lightpack 러시아어에 이어, 우리말 지원은 물론 일부 게임환경 등에서 느려지는 문제를 해결 하기 위해 Windows 에 한해서만 lightpackkr (lightpack clone) project 를 시작 합니다.


하드웨어에 있어서는 신의손길군이 알아서 할 터이고, Windows SW 에 한해서 프로젝트를 진행 할 예정이며, 아마 기존의 형태와는 내부가 꽤 달라지지 않을까 합니다.


위치는 http://code.google.com/r/rageworx-lightpackkr/ 이며, 차곡차곡 변경 사항을 적용해 가며 완성도를 높이도록 하겠습니다.


관련 진행자들은 해당 위치에 member 로 참여 해 주시기 바랍니다.

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1261 관련글 쓰기

댓글을 달아 주세요



 신의손길 에서 소개된 lightpack 의 KR(우리말) + 신의손길 edition project 들어 갑니다.

소스는 구글소스 에 올라 온 것을 이용하며, Windows7 에 비호환 되는 부분들이나, UAC 등의 문제를 해결 한 버젼을 만들어 공개 하도록 하겠습니다.

신의손길 edition hardware 는 제작자인 신의손길(이라 주장하는..)의 작명센스에 맏기고 ..


요즘 회사일이 많습니다만, 수정 되는데로 공개(소스 포함) 하도록 하겠습니다.


* 소스를 받기 위한 Tool *

HG(mercurial) http://mercurial.selenic.com/downloads/


* 컴파일에 필요한 Tool *

Borland Delphi : 상용 입니다. 개인 라이센스를 가지고 있는 분들에 한해서만...

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1260 관련글 쓰기

  1. Subject: Lightpack 펌웨어 / 프로그램 / 플러그인(Winamp) 사용법 정리

    Tracked from 신의손길 2012/04/27 09:58  삭제

    Lightpack 은 동영상에서 볼 수 있듯, 모니터의 가장자리 영상과 연동되는 RGB LED를 이용한 간접 조명장치이다. 마치 영상이 확장된 듯한 효과를 주며, 특히 야간에 동작시 영상에 대한 몰입력을 ..

댓글을 달아 주세요


CodeBlocks 를 쓰면서 가장 불만이 느껴 지는 것이 바로 Windows API 를 주워다 쓸 Native Graphic Engine 의 부재 입니다.
GDI+ 를 호출 해서 쓰는 방법 이 있긴 합니다만, GDIplus.DLL 이 없는 경우엔 조금 난감하게 됩니다. (그 외에 WindowsXP 에서 WPF 를 사용한 어플리케이션과 병행 수행시 문제가 됩니다)

그래서 CxImage 6 를 CodeBlocks 에서 가져다 쓰기 편하도록 archive 화 한 라이브러리를 올립니다.
여러 포맷중, 다음 포맷은 제거 했습니다.

ICO, TIF, TGA, PCX, WBMP, WMF, JP2, JPC, PGX, PNM, RAS, JBG, MNG, SKA, RAW

위 포맷들중 MNG 는 관련 라이브러리가 MinGW 에서 수정 하기 힘든 오류를 내서 (64bit의 경우) 포팅을 포기 했던 바도 있고, 나머지 포맷들은 사실 잘 쓰이지 않는데다, 필요에 따라 사용자가 추가 하면 되도록 ximacfg.h 안에 #define 으로 정의 해 두었습니다.
물론, 제가 추가한 라이브러리엔 제거된 것이 있어 ICO 나 TIF, PCX, WBMP, WMF 외엔 #define 을 변경해도 사용이 불가능 합니다.

라이브러리 소스와, 파일 등은 아래에 있는 zip 파일들을 참조 해 주시기 바랍니다.

CxImage6_CodeBlocks_MinGW.zip


CxImage6_header_lib.zip

위 파일은 각각 용도별로 분리 한 상태 이며, CxImage6_CodeBlocks_MinGW.zip 에는 import 하는 header 를 분리 하지 않고 (src 안에 모두 포함), lib 이 만들어 져 있지 않습니다.
즉, 직접 CodeBlocks 로 빌드 하시면 되며, 64bit MinGW 에서 빌드 및 사용이 가능합니다.

lib 과 import 할 header 는 CxImage6_header_lib.zip 파일을 열어서 사용하면 되고, CodeBlocks 사용시엔 다음과 같이 Linker setting 에 추가하기만 하면 됩니다.

주의 할 점은 PNG 를 사용하려면 반드시 ZLIB 을 함께 포함 해야 합니다.

실제 사용에 쓰인 CxImage test app 는 아래에 zip 파일로 첨부 합니다.

CxImageTest.zip

lib 폴더 안이 비어 있으므로, 받드시 위의 header 와 lib 있는 zip 파일에서 컴파일 된 archive 를 복사 해 주어야 합니다.
그런 다음 CodeBlocks 를 수행하여 컴파일 하면 exe 를 만들수 있으며, exe 가 있는 폴더에서 실행 할 경우, 반드시 test.png 를 복사해 붙여 넣어 사용해야 합니다.

CxImage 의 저작권과 권리는 CxImage 제작자에게 있으며, 제가 따로 재구성한 패키지엔 원래 소스를 변경한 것이 없으며, MinGW에서 빌드및 사용을 위해 mini port 버젼을 만든 것 임을 밝힙니다.

CxImage 의 제작자 원본 소스는 http://www.codeproject.com/Articles/1300/CxImage 에서 받으실 수 있으며 (간략한 등록이  필요함), 자세한 정보는 제작자 페이지인 http://www.xdp.it/cximage.htm 에서 확인이 가능합니다.

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1256 관련글 쓰기

댓글을 달아 주세요


이 프로젝트 역시, libZ (zlib) 을 CodeBlocks 와 MinGW 를 활용해 쓰기 위해 태어났습니다.
libPNG 1.5.1.0 소스를 static lib 으로 빌드 하도록 재구성 했으며, 최초 SourceForge 에서 소스를 내려 받으면 zlib 이 없는 것을 고려, 모든 것을 한번에 열어서 빌드 할 수 있도록 하였습니다.


libPNG_1510_for_bin_only.zip


libPNG_1510_for_CodeBlocks_minGW.zip

두개의 압축 파일이 있는데, bin_only 는, lib 참조만을 위해 쓸때 필요하도록 만든 것 이고, 나머지는 binary 빌드가 가능하도록 만든 CodeBlocks 프로젝트 파일 입니다.
압축 파일에 다음과 같이 디렉터리 구조가 존재 하고 있으며, 각각 설명을 드리도록 하겠습니다.
( 또는 cbp 프로젝트 파일을 열어서 직접 확인 하는 방법도 있습니다. 프로그래머 라면 이것이 편리하고 빠르겠죠)

bin -> 빌드된 archive lib 이 생깁니다.
contrib, docs, images, scripts -> 원래 libPNG 1510 에 있던 폴더들이나, 남겨 두었습니다. (사용되지 않습니다)
include -> libPNG 사용에 관련된 libZ 및 libPNG 용 header가 들어 있습니다.
libs -> libZ archive 가 들어 있습니다.
src -> c 소스 파일이 들어 있습니다.
test -> test 용 c 파일입니다. 직접 프로젝트를 만들어 테스트 가능 합니다.

bin 은 cbp 파일을 CodeBlock 로 열고, 빌드를 하게 되면 나오는 archive 위치 입니다. libPNG_d.a / libPNG.a / libPNG64.a 이렇게 3가지가 나오도록 되어 있으며, 각각 CodeBlocks 내에서 build target 을 설정 하는 것에 따라 각기 다른 archive 가 나오게 됩니다. 주의 할 점은, minGW 64bit 는 개인의 환경에 맞춰서 빌드 하도록 해야 합니다.

contrib , docs, images, scripts 는 원래 소스에 있던 부분을 분리한 것입니다.
직접 explorer 에서 확인이 가능합니다.

include 와 libs 안에는 libZ 를 쓰기 위한 파일들이 들어 있습니다.
이는 제 이전의 포스팅 글 에서 확인 할수 있습니다.
PNG 관련 소스는 src 안에 있으며, 이는 libPNG.cbp 에서 열어서 확인 할 수 있도록 하였습니다.

bin 안에는 각각 다음과 같이 파일이 있으며, 이 파일들은 다음과 같습니다.
libPNG_d.a : 디버깅용 libPNG archive 파일. 32bit 입니다.
libPNG.a : 릴리즈용 libPNG archive 파일. 역시 32bit 입니다.
libPNG64.a : 릴리즈용 64bit libPNG archive 파일 입니다.

사용된 컴파일러는 각각 다른 버젼이나, 모두 4.x 대의 릴리즈 버젼을 사용하였습니다.
만약 archive 사용에 문제가 있다면, cbp 파일을 열고, CodeBlocks 상의 Tool chain 을 설정하여, 자신의 환경에 맞게 다시 한번씩만 빌드 해 주시기 바랍니다. (Ctrl+F11)

libPNG 최신버젼을 주워다 쓰기에 뭔가 어려움을 느끼시는 분들에게 도움이 되길 바라며 ...

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1255 관련글 쓰기

댓글을 달아 주세요


가끔 zlib 을 쓰려고 하면, 기본 minGW 에는 포함이 안되어 있거나 해서 이리저리 archive 를 찾거나 하는 노가다를 해야 합니다.
그래서 미리 컴파일된 archive 를 찾기가 애매 해서 직접 빌드 하려고 SourceForge 에서 받아보면 일반 Windows 를 쓰고 있는 사용자들에겐 컴파일 자체가 넘을수 없는 벽처럼 보일것 같더군요.

그래서 준비 했습니다.

CodeBlocks 를 사용하고 계시거나, MinGW 4.x 를 쓰고 계신다면 사용하실 수 있도록 만든 미리 컴파일 된 archive 입니다.
GNU/GPL 에 따라 소스도 함께 동봉 합니다.
필요에 따라 파일을 받으시면 되며, 64bit GCC 설정은 각자 자신의 PC 에서 알아서 설정해야 합니다.

libZ4mingw125.zip


libZmingw125_bin_only.zip


libZ4mingw125.zip 파일은 소스와 CodeBlocks 프로젝트만 있으며,
libZmingw125_bin_only.zip 파일은 archive 와 include (zlib.h 와 zconf.h) 파일만 들어 있습니다.

혼동 없이 사용하시기 바라며, 바이너리는 각각:
libZ_d.a  : 32bit debug symbol included archive (lib)
libZ.a : 32bit archive (lib)
libZ64.a : 64bit archive (lib)
으로 존재 합니다.

필요하신 분 들에게 도움이 되는 소스와 바이너리가 되길 바라며 ..

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1254 관련글 쓰기

댓글을 달아 주세요


이 프로그램은 DICOM 의 tag 를 읽고, 수정, 저장할 수 있도록 만들어진 프로그램 입니다.
주된 용도는 tag 정보 확인용 으로만 쓰시는걸 추천 드리며 ...
윈도우 탐색기에서 파일을 끌어서 놓음 으로, DCM 파일을 읽을 수 있습니다.

이 프로그램은 공개로 배포 되는 것 이며,
이 프로그램에 의해 발생하는 문제에 대해서는 저는 책임을 지지 않음을 먼저 밝힙니다.

 
저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1216 관련글 쓰기

댓글을 달아 주세요


DCM 파일을 읽고 쓰는 라이브러리를 공개 합니다.
이 소스 코드는 제가 직접 만든 것이며, 누구나 사용하고 활용 할 수 있되, 이 코드에 대한 저작권만 지켜 주신다면 아무런 제한없이 사용할 수 있습니다.

단, 저작권을 벗어난 권리행사 외에는 어떠한 책임을 지지 않으며, 본 소스코드로 제작하신 바이너리나 코드에 대해서는 일절 support 가 가능하지 않음을 먼저 알립니다.

source code 는 gcc 에서 빌드 되도록 만들어 졌으며, CodeBlocks 10.05 에서 project 파일이 생성 되었습니다.
32bit, 64bit, MBCS, Unicode 모두 감안하여 만들어 졌습니다.

사용법이나, 활용에 대해서는 main.cpp 를 참조하시기 바라며, 개선하거나 변경 한 소스에 대해서는 반드시 본인의 방법대로 재배포 하시기 전에 Open 하셔야 합니다.

나름 posix 와 표준을 지키기 위해 노력 했습니다만 부족한 부분이 많습니다.
이점 감안해 주세요.

다운로드는 아래 파일을 받아서 사용하시기 바랍니다.


감사합니다.


저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1212 관련글 쓰기

댓글을 달아 주세요


이전에 만든 sifr v0.1beta 의 검색 기능을 좀 더 강화 하고, 검색 위치 변경을 하도록 하였습니다.
사용법은 이전과 동일 합니다.

-f [찾을 문자열]
: 찾을 문자열을 따옴표로 묶어서 쓰면 띄어 쓰기도 다 처리 됩니다.
  예) "A red moon rise up"

-r [바꿀 문자열]
: 바꿀 문자열 옵션이 지정만 되고 바꿀 문자열이 생랼 되면, 찾은 문자열을 지우는 역활을 합니다.
  이 옵션이 무시되면 -f 옵션만 구동 되어 문자열 위치를 찾아 주는 표시만 해 줍니다.
  단, 문자열을 찾기만 할때 -q 옵션이 있을 경우 아무것도 표시 되지 않습니다!

-s : 하위 디렉토리 검색 (잘 되진 않습니다)

-q : 아무것도 표시 하지 않음. (콘솔창에 아무런 글자도 표시 하지 않습니다) 

다운로드 : (win32 용 console, exe 파일)


이 프로그램은 100% 무료이며, 어디어 어떻게 쓰던 마음대로 입니다.
다만, 원본 내용을 변경하거나 하시면 위법입니다 :)  
저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1211 관련글 쓰기

댓글을 달아 주세요