Тема: AHK: Gdip_ResizeBitmap
Нашел функцию для изменения размера bitmap, как ее можно переделать, чтобы она не увеличивала размеры "полотна"? То есть мне нужно взять область 50 на 50, увеличить ее допустим в 3 раза, и чтобы размер так и остался 50 на 50, а не 150 на 150.
Gdip_ResizeBitmap(pBitmap, PercentOrWH, Dispose := 1)
{
Gdip_GetImageDimensions(pBitmap, origW, origH)
if PercentOrWH contains w,h
{
RegExMatch(PercentOrWH, "i)w(\d*)", w), RegExMatch(PercentOrWH, "i)h(\d*)", h)
NewWidth := w1, NewHeight := h1
NewWidth := (NewWidth = "") ? origW/(origH/NewHeight) : NewWidth
NewHeight := (NewHeight = "") ? origH/(origW/NewWidth) : NewHeight
}
else
NewWidth := origW*PercentOrWH/100, NewHeight := origH*PercentOrWH/100
pBitmap2 := Gdip_CreateBitmap(NewWidth, NewHeight)
G2 := Gdip_GraphicsFromImage(pBitmap2), Gdip_SetSmoothingMode(G2, 4), Gdip_SetInterpolationMode(G2, 7)
Gdip_DrawImage(G2, pBitmap, 0, 0, NewWidth, NewHeight)
Gdip_DeleteGraphics(G2)
if Dispose
Gdip_DisposeImage(pBitmap)
return pBitmap2
}