"FLTK" 검색결과 (45)
  • FLTK 1.3.4-1 을 위한 fl_imgtk 개발 중.

    FLTK 를 쓰면서 항상 불편 한 점은 여러 있을 수 있겠습니다만, 기본적으로 이미지 처리를 하는 기능이 너무 빈약 하다 보니, 이런 점들을 하나 둘씩 만들어 쓰다가 결국 이번에 하나로 뭉치기로 하였습니다. 아직까진 개발중인 부분이 많다 보니 어디에 올리진 않고 있습니다만, 곧 정리가 더 되는데로 GitHub 나 BitBucket 에 올리는 것을 목적으로 할 예정 입니다. 기본적으로 현재 여러 기능들이 지원 되며, 그 항목은 다음과 같습니다. Fl_RGB_Image 를 이용한 다양한 처리 ( Fl_JPEG_Image 나 Fl_PNG_Image 의 color depth 3 이상이면 사용 가능 ) 이미지 고속 회전 90도, 180도, 270도이미지 자유 회전 0~359 도 (alias 처리는 하지 않음)밝기..

    Developement/C/C++
    2017. 3. 24. 19:00
  • Fl_GroupAniSwitch, version 01

    FLTK 내에서 Fl_Group 간 페이지 전환 애니메이션을 구현한 소스를 공개 합니다. 같은 크기의 Fl_Group 만을 테스트 한 것이라 분명 다른 크기를 사용하면 버그가 발생 할 것으로 보이며, JUSTSHOW 에 대해서도 아직 테스트가 되지 않은 점을 고려해서 사용해 주시면 좋겠습니다. 소스는 아래에서 받아서 사용하실 수 있으며, FLTK license 와 MIT License 제한이 있습니다만, FLTK 사용했다와, 원래 저작자 소스 표시등을 어디에든 하면 상용이던 뭐던 제한없이 사용할 수 있습니다. 사용 방법은 다음과 같이 구현 하시면 되고, WaitForFinish() 는 내부에서 Fl::wait( 10 ) 을 호출 하므로, Thread 내에서 그리실 때엔 다른 구현이 필요 할 수 있음을 고..

    Developement/C/C++
    2017. 3. 23. 18:07
  • FLTK Fl_Group 을 blur 된 배경 이미지로 만들기.

    FLTK 1.3.4-1 부터 좀 더 강력 해 진 영역이 있다면, 바로 Offscreen surface 에 특정 FLTK widget 을 그려 이것을 Fl_RGB_Image 로 만들 수 있다는 것 입니다. 그래서 아래 처럼 빨간 점선 안의 특정 영역 (Fl_Group* grpViewer 영역) 을 Fl_RGB_Image 로 만들고, 이를 fl_smimg 를 이용하여 burred 된 이미지로 간단히 만들 수 있습니다. ▼ 이 방법은 다음과 같은 원리로 진행 됩니다. (필요 사항, fl_smimg) bool Fl_GroupAniSwitch::generate_blurred_img( Fl_Group* src, Fl_RGB_Image* &dst ) { if ( src != NULL ) { Fl_Image_Surfa..

    Developement/C/C++
    2017. 3. 23. 17:15
  • FLTK 에 부족한 페이지 전환 애니메이션 추가중 ..

    FLTK 에 없다 싶이 한 기능 중 하나가, 바로 애니메이션 처리 입니다. 요즘 GUI 대세를 보면 뭔가 간단한 애니메이션이라도 집어 넣어 만드는게 예의가 아닌가 하는 바람으로 가칭 Fl_GroupAniSwitch() 라는걸 만들어 보고 있습니다. FLTK 특성상, 배경이 안그려 지는 것들을 감안해서 Fl_Group 중, 가려지는 것에 대해 offscreen 으로 이미지를 그린 다음, 이것을 Bilinear 로 10%로 줄였다가 다시 원래 크기로 Bicubic Filter를 적용해서 그리면 보통 우리가 아는 Blurred background 가 됩니다. 현재 제가 만들어 쓰는 fl_smimg 가 OpenMP 를 적용해서 돌기 때문에 1080p 정도의 이미지는 얼마 걸리지 않는 시간 내에 처리가 가능한 관..

    Developement/C/C++
    2017. 3. 23. 16:53
  • [FLTK] HICON 에서 Fl_RGB_Image 로 변환.

    이 소스 코드는 rk HDRi Studio 을 만들면서 필요에 의해서 만들어진 것 입니다만, FLTK 에서 자체적으로 윈도우를 만들어 쓸 때, 아이콘을 그리고 싶은데 막상 HICON 을 이미지 원본으로는 쓸 수 없을때 Alpha 를 가진 32bit RGB 이미지로 만들어 쓰기에 좋다고 하겠습니다. 먼저 icon_to_flrgb() 함수는 다음과 같습니다. Fl_RGB_Image* icon_to_flrgb(HICON hIcon) { BITMAP bm; ICONINFO iconInfo; GetIconInfo(hIcon, &iconInfo); GetObject(iconInfo.hbmColor, sizeof(BITMAP),&bm); int width = bm.bmWidth; int height = bm.bmHe..

    Developement/C/C++
    2017. 2. 20. 10:38
  • FLTK MDI form 구현...

    HDR imaging 을 시작 한 바, 이젠 color 쪽에서도 처리 할 수 있도록 만들고자 나름 있어 보이는 이름의 RK HDRi Studio 란걸 Open Source 로 만들기 시작 했습니다. 물론 아직 commit 은 커녕, repository 도 만들지 않았습니다만. 제목은 MFC 에나 있는 MDI form 을 FLTK 에서 구현 해 보고 있습니다만, 문득 드는 생각이 ... 이 짓거릴 왜 구현하고 있는거지? 란 생각이 듭니다. 그래도 만든거고 하니 어쨋든 관련 소스는 공개 할 생각 이긴 합니다만, 대체 이걸 구현해서 이 구태적인 GUI 형태를 왜 써야 하는걸까? 란 의문도 들고, 복잡 하네요. 구현도 그리 좋지 못하고. FLTK 를 쓰고 있지만, 윈도우 자체는 자체에서 그리는 형태가 되서 th..

    Developement/C/C++
    2017. 2. 2. 16:28
  • fltk-1.3.4.1-ts Mac OS 맥용 빌드 업데이트 !

    제가 FLTK-1.3.4-1 에서 clone 하여 사용 하고 있는 fltk-1.3.4-1-ts 판의 업데이트가 있었습니다. 보통 한 PC 에서만 쓰다 보니, 다른 PC 에서 쓰기 전 까지는 문제점을 못 발견 하는 것이 1인 개발자의 한계인 듯 합니다만 .. 어쨋든 간만에 맥에서 전체를 내려 받아 빌드 해 보니 문제가 많다는 점을 발견하고 대부분 수정 하였습니다.위치: https://github.com/rageworx/fltk-1.3.4-1-ts 맥이던 어디던 git 가 설치 되어 있다면 clone 을 해서 사용이 가능 합니다. 다만, Windows 에서 MSYS 와 MinGW-W64 를 이용해서 빌드 하신다면, config64.sh 를 한번 해 주셔서 configure 를 하신 다음 빌드 하시거나, cp..

    내가 작업한 것들/소프트웨어
    2017. 1. 14. 15:26
  • 여러 포인트를 찍어 폴리곤 채우기 구현 시도기, 마지막 날.

    몇가지 잘못 구현된 부분을 수정 하고, 간략화 하여 어느정도 복잡도를 가지는 영역 내를 채우는 것을 성공리에 완성 하였습니다. 아직 테스트를 해 보면 매우 복잡한 영역은 여전히 node 에서 잘못 처리되는 경우가 발견 되긴 합니다만, 이 부분은 다음 구현으로 넘기고 이번엔 완료된 것을 통해서 약간의 알고리즘 설명을 남겨 보도록 하겠습니다. 먼저 참고한 알고리즘은 Darel Rex Finley 라는 사람의 페이지를 통해서 입니다. Polygon fill algorithm 알고리즘은 알고나면 꽤 간단 합니다. 먼저, 삼각형을 하나 그린다 치면, 아래 처럼 좌표계가 만들어 지고, 이 좌표계는 vector < x, y > 에 차곡 차곡 쌓이게 됩니다. 여기서 vector < x, y > 는 0번째와 마지막 이 ..

    Developement/C/C++
    2016. 12. 21. 18:13
  • 여러 포인트를 찍어 폴리곤 채우기 구현 시도기, 둘째날.

    이전에 polygon 내 fill 을 하기 위한 알고리즘을 파다, 여러 개선점을 찾기 위한 노력을 통해 답을 찾기 시작 하고 있습니다만, 현재 fill 을 실패 하는 이유를 찾기 위해 돌려 보고 있다 보니, 아래처럼 node 가 짝이 안맞는 경우가 생기는 것을 알았습니다. 최적화된 알고리즘 검출을 위해 re-order 등을 수행하는데도, 검출에 실패 하는 영역이 나오는 것을 보면, 이것은 다른 알고리즘을 찾아야 할 것으로 보입니다. 현재까지 돌려 본 것을 압축해서 올려 봅니다.코드 및 CBP, 디버깅용 바이너리 파일 압축본 다운로드 필요사항: Code::Blocks, MinGW-W64, FLTK-1.3.4 (또는 FLTK-1.3.4-TS).

    Developement/C/C++
    2016. 12. 20. 18:01
  • 여러 포인트를 찍어 폴리곤 채우기 구현 시도기, 첫쨋날.

    librawprocessor 에 새로 끼워 넣고 싶은 기능 중 하나가, 바로 포토샵 같은데서 자주 쓰는 그물망 기능인가 하는 겁니다, 여러 포인트를 찍어 그 영역 안을 구하는 것. 그래서 그걸 FLTK 로 간단히 만들고, 내부 알고리즘은 다음 URL 을 통해 한번 구현을 해 보기로 했습니다.http://alienryderflex.com/polygon_fill/ 해당 싸이트엔 C 로 간단히 되어 있는걸 C++ 로 좀 더 복잡하게 변경 하여 만들어 보니 ... 간단한 벡터 그래픽 영역은 처리가 되는 것 같습니다만 ... 복잡도가 올라가면 실패를 합니다. 아직 이유는 알아 내야 하는 부분이 많습니다만, 현재 odd-even 검사 부분이 뭔가 누락이 되었다거나, conflict 영역 검출 등은 뭔가 원래 소스대..

    Developement/C/C++
    2016. 12. 19. 18:13
  • FLTK version 1.3.4-1 릴리즈!

    2016년 11월 15일, 드디어 FLTK 1.3.4-1 버젼이 릴리즈 되었습니다. 물론 저는 이에 맞춰 제가 개조해 쓰는 FLTK-1.3.4-1-ts 를 따로 clone 하기도 했습니다만, 1.3.3 으로 부터 뭔가 많은 발전이 있었으며, 특히나 Fl::flush() 와 같은 부분에 신경을 쓴 듯 합니다. FLTK 1.3.4-1 이 1.3.3 마지막 버젼으로 부터 변경된 사항들을 나열해 보면 다음과 같습니다. (원문)FLTK 1.3.4-1 에셔 변경된 점 릴리즈 날짜: 2016년 11월 15일 버그 수정 및 추가 개선사항 - 윈도우즈 IDE 중 비주얼스튜디오 2008과 2010의 빌드 요소중 폴더 위치 참조를 변경함. 주: 이 패치 릴리즈(1.3.4-1) 은 비주얼 스튜디오가 참조하는 폴더 위치만 업데..

    Developement/C/C++
    2016. 11. 25. 11:21
  • XML 을 통한 다국어 처리도 편리한 FLTK.

    XML 의 경우 여러 언어들을 처리 하기 위해 보통 UTF-8 인코딩을 사용합니다. 이 방식은 Windows 에서 사용하는 UNICODE 와 1:1 대응이 되지 않습니다, 그래서 보통 GUI 관련 쪽에서 바로 붙여 쓰기가 힘든 경우가 있는데, FLTK 의 경우 그대로 UTF-8 을 사용하고 있기 때문에 XML 에서 읽어온 다국어 코드를 별도의 변환 없이 사용이 가능 합니다. 그래서 올바른 Font 를 Load 한 상태 라면 (보통 FL_FREE_FONT 에 bind 해서 씁니다) 다국어 출력에 어려움이 없이 편리하게 구현이 가능하다는 장점이 있습니다. 또한 이런 부분은 타 OS로 소스를 그대로 사용할 경우 발생 할 수 있는 호환성도 매우 많이 해결 해 주기 때문에 자원 낭비를 많이 줄일 수 있는 장점이 ..

    Developement/C/C++
    2016. 6. 14. 14:19
  • fltk-1.3.3-ts, 64bit Linux 에서도 정상 빌드 !

    사실 안되는 것이 이상 한 일 이겠지만, 일단 FLTK 1.3.3 ts 는 64bit 리눅스 민트 에서 정상적으로 configure 되고 빌드가 됩니다. phtread 나 win32 thread 에서 안정적인 구동을 필요로 하시는 분들은 아래 주소에서 FLTK 1.3.3 clone 인 제 fltk-1.3.3-ts 를 사용 해 보시길 권장 드립니다. https://github.com/rageworx/fltk-1.3.3-ts

    내가 작업한 것들/소프트웨어
    2016. 4. 20. 21:20
  • Dental Ball Phantom Detector v0.5.52.107

    이 프로그램은 제가 바로 전에 공개한 opensource 에서 발전된 버젼으로, 간단히 팬텀의 특정 부분을 인지 하는 알고리즘이 테스트용으로 들어 있고, 각 12비트가 넘는 raw 이미지를 빠르게 처리하고, 이를 응용할 수 있는 부분에 대해 보여 주는 엔지니어 샘플이라 하겠습니다. (일부 알고리즘에 대해서 공개 여부는 고려 중) 이 프로그램에 대해 몇가지 보이는 기능을 설명 하자면, 이미지 바로 하단 왼쪽의 Use threshold rendering 을 체크 하시면 아래 처럼 자동으로 연산된 최적의 이미지를 잡아 주게 되며 이는 사용자가 slide 를 조정 함 으로서 변경 할 수 도 있습니다. (하단의 슬라이드와 히스토그램 이미지 참조) 또한 배율을 조정하고, 안의 이미지를 마우스 드래그로 이동 하여 확..

    내가 작업한 것들/소프트웨어
    2016. 3. 22. 13:06
  • [FLTK] Win32 에서 HWND 를 제대로 못 얻어 올때

    일단 조이스틱, 마우스, 키보드의 일정 값들을 산술화 하는 테스트 프로그램을 FLTK 로 제작 중 이었습니다만, 이게 왠걸 ... DriectX 의 DInput 에 SetCooperativeLevel() 에서 계속 실패가 나는 것 이었습니다. 대체 왜 이러나 하고 보니, ( Process Hacker 사용 ) 엄? FLTK 에서 fl_xid( window ); 로 가져 온 HWND 와 실제 FLTK 에서 사용하고 있는 HWND 가 다릅니다.... 대체 저건 어디서 나온 값이지 ... 그래서 이전에 만든 FLTK 조이스틱 테스트 하는걸 보면, 이건 또 fl_xid() 로 정상인 HWND 를 넘겨 줍니다 ... 대체 왜 ?? 왜 ?? 왜 ?? 아마 FLTK 에서 2개 이상의 window를 생성 하고 있는 상..

    Developement/C/C++
    2015. 8. 7. 11:32