|
그럼 이렇게 하세요. 나도 원격접속 개발하느라 쓰는 알고리즘인데
이미지 압축해서 전송하시는건 IJL로 하시구요..이게 속도도 빠르고 좋습니다.
나같은 경우.. 원격 pc에 접속해서 마우스만 깔작거리는데 이미지 전체를 다 전송할 이유가 없잖아요.
바뀌는 부분만 전송해주면 되니까..
이전 프레임과 현재 캡쳐한 프레임 이렇게 비트맵이 a, b가 계속 버퍼에 있어야 하구요.
이미지 복사는 bitblt api를 쓰세요.
a(srccopy) 위에다 b(srcinvert)를 뒤집어 씌울 경우
같은 부분은 검게(0)이 되고.. 다른 부분만 컬러가 역상으로 됩니다.
이걸 압축하면 화면 전체를 압축해도 달라진 영역을 제외한 나머지는 0이니까 이미지 크기가 훨씬 작겠죠?
이 XOR된 이미지에 다시 b를 srcinvert로 한번 더 덮어주면 a화면이 b를 srccopy한 원본처럼 변합니다.
전송할땐 xor된 이미지를 전송해주면 되는거죠.
도움이 되셨기를..
-locke
이성제 님이 쓰신 글 :
: 달라진 이유를 찾는게,
: 이미지 전송을 하는데 쓸데없이 전체다 전송을 하는게 의미도 없고,
: 성능도 저하되는거 같아서여~
: 그래서 ScanLine 으로 rgb 가 달라진 부분을 찾아서 전송하고,
: 이렇게 하긴 했는데 이것보다 더 좋은 성능을 가진
: 방법을 찾고 있는거거든요. ㅎ
: 답변 감사합니다 ^^
:
:
:
: 송득보 님이 쓰신 글 :
: : 달라진 부분을 찾는 이유가 무엇인가요? 그 이유를 정확히 써주시면 도와드리는데 더 수월할듯 싶네요.
: :
: : -locke
: :
: : 이성제 님이 쓰신 글 :
: : : 혼자서 ScanLine으로 하나씩 다 검색 하고 달라진 부분을 찾아내고 있는데요.
: : :
: : : 문뜩 이것보다 좋은 방법이 있지 않을까해서 질문 올려봐요. ㅎ
: : :
: : : 두개의 bitmap에서 달라진 부분을 찾는 방법에는 어떠한 방법이 있나요?
|