예를 들면 □ 이런 네모를 기준으로
■ 이렇게 크기가 다른 모양을 찾을수있는
예제? 가잇을까요..?
예를 들면 □ 이런 네모를 기준으로
■ 이렇게 크기가 다른 모양을 찾을수있는
예제? 가잇을까요..?
Gdip_all.apk 라이브러리 기준으로 설명드립니다.
Gdip_all.apk에는 아래의 함수가 존재합니다.
아래 함수에서
Gdip_BitmapFromScreen(Screen=0, Raster="")
{
if (Screen = 0)
{
Sysget, x, 76
Sysget, y, 77
Sysget, w, 78
Sysget, h, 79
}
else if (SubStr(Screen, 1, 5) = "hwnd:")
{
Screen := SubStr(Screen, 6)
if !WinExist( "ahk_id " Screen)
return -2
WinGetPos,,, w, h, ahk_id %Screen%
x := y := 0
hhdc := GetDCEx(Screen, 3)
}
else if (Screen&1 != "")
{
Sysget, M, Monitor, %Screen%
x := MLeft, y := MTop, w := MRight-MLeft, h := MBottom-MTop
}
else
{
StringSplit, S, Screen, |
x := S1, y := S2, w := S3, h := S4
}
if (x = "") || (y = "") || (w = "") || (h = "")
return -1
chdc := CreateCompatibleDC(), hbm := CreateDIBSection(w, h, chdc), obm := SelectObject(chdc, hbm), hhdc := hhdc ? hhdc : GetDC()
BitBlt(chdc, 0, 0, w, h, hhdc, x, y, Raster)
ReleaseDC(hhdc)
pBitmap := Gdip_CreateBitmapFromHBITMAP(hbm)
SelectObject(chdc, obm), DeleteObject(hbm), DeleteDC(hhdc), DeleteDC(chdc)
return pBitmap
}
위 함수에서 적색 글씨 부분을 응용하여 작성이 가능하며, 여기서 bitblt함수를 stretchblt로 변경합니다.
bitblt는 이미지의 크키를 1:1로만 복사하며, stretchblt는 원본과 복사본의 이미지 크기를 다르게 할수 있습니다.
하지만 테스트해본 결과 축소 시에는 화질이 다소 깨지며 확대 시에는 별 지장이 없는 것 같습니다.
아 진짜죄송하네요 .. 말씀하신내용은 .. 캡쳐 관련이시지요?
그런데 파일을 ..확대 축소하고싶은데.. 어렵네요 ㅠㅠ 어려워 gdip .. 어렵군요
광고
전체 최신 인기글
전체 주간 인기글
글쎄요. 코딩해야될거 같은데요..딱히 떠오르는게 없네여. 동일한 이미지에 사이즈만 다른거면 이미지 크기를 바까가면서 매칭시켜볼수도 있을거 같은데 해봐야 알듯요