Просмотр исходного кода

Move splineKernel function nearer to Lanczos definitions.

jst 12 лет назад
Родитель
Сommit
9e5ed35b85
1 измененных файлов с 12 добавлено и 12 удалено
  1. 12 12
      filters.go

+ 12 - 12
filters.go

@@ -198,7 +198,19 @@ func Bilinear(img image.Image, factor [2]float32) Filter {
 	})
 }
 
+// Bicubic interpolation (with cubic hermite spline)
+func Bicubic(img image.Image, factor [2]float32) Filter {
+	return createFilter(img, factor, 4, splineKernel(0, 0.5))
+}
+
+// Mitchell-Netravali interpolation
+func MitchellNetravali(img image.Image, factor [2]float32) Filter {
+	return createFilter(img, factor, 4, splineKernel(1.0/3.0, 1.0/3.0))
+}
+
 func splineKernel(B, C float32) func(float32) float32 {
+	const lanczosTableSize = 300
+
 	factorA := 2.0 - 1.5*B - C
 	factorB := -3.0 + 2.0*B + C
 	factorC := 1.0 - 1.0/3.0*B
@@ -220,16 +232,6 @@ func splineKernel(B, C float32) func(float32) float32 {
 	}
 }
 
-// Bicubic interpolation (with cubic hermite spline)
-func Bicubic(img image.Image, factor [2]float32) Filter {
-	return createFilter(img, factor, 4, splineKernel(0, 0.5))
-}
-
-// Mitchell-Netravali interpolation
-func MitchellNetravali(img image.Image, factor [2]float32) Filter {
-	return createFilter(img, factor, 4, splineKernel(1.0/3.0, 1.0/3.0))
-}
-
 func lanczosKernel(a uint) func(float32) float32 {
 	return func(x float32) (y float32) {
 		if x > -float32(a) && x < float32(a) {
@@ -242,8 +244,6 @@ func lanczosKernel(a uint) func(float32) float32 {
 	}
 }
 
-const lanczosTableSize = 300
-
 // Lanczos interpolation (a=2)
 func Lanczos2(img image.Image, factor [2]float32) Filter {
 	return createFilter(img, factor, 4,