diff --git a/_docs/gen.go b/_docs/gen.go index 15931ed48..446081418 100644 --- a/_docs/gen.go +++ b/_docs/gen.go @@ -191,6 +191,7 @@ var ( } graphicsExamples = []example{ {Name: "alphablending", ThumbWidth: 320, ThumbHeight: 240}, + {Name: "filter", ThumbWidth: 320, ThumbHeight: 240}, {Name: "flood", ThumbWidth: 320, ThumbHeight: 240}, {Name: "font", ThumbWidth: 320, ThumbHeight: 240}, {Name: "highdpi", ThumbWidth: 320, ThumbHeight: 240}, diff --git a/docs/examples/filter.content.html b/docs/examples/filter.content.html new file mode 100644 index 000000000..457b491ac --- /dev/null +++ b/docs/examples/filter.content.html @@ -0,0 +1,31 @@ + + + +(Example) +

Now Loading...

diff --git a/docs/examples/filter.html b/docs/examples/filter.html new file mode 100644 index 000000000..4fe9107e2 --- /dev/null +++ b/docs/examples/filter.html @@ -0,0 +1,98 @@ + + + + + + +Ebiten example - filter + + + + + + + + +
+ +

Ebiten example - filter

+ +
// +build example
+
+package main
+
+import (
+        _ "image/png"
+        "log"
+
+        "github.com/hajimehoshi/ebiten"
+        "github.com/hajimehoshi/ebiten/ebitenutil"
+)
+
+const (
+        screenWidth  = 640
+        screenHeight = 480
+)
+
+var (
+        ebitenImage *ebiten.Image
+)
+
+func update(screen *ebiten.Image) error {
+        if ebiten.IsRunningSlowly() {
+                return nil
+        }
+
+        ebitenutil.DebugPrint(screen, "Nearest Filter (default) VS Linear Filter")
+
+        op := &ebiten.DrawImageOptions{}
+        op.GeoM.Scale(4, 4)
+        op.GeoM.Translate(64, 64)
+        // By default, nearest filter is used.
+        screen.DrawImage(ebitenImage, op)
+
+        op = &ebiten.DrawImageOptions{}
+        op.GeoM.Scale(4, 4)
+        op.GeoM.Translate(64, 64+240)
+        // Specify linear filter.
+        op.Filter = ebiten.FilterLinear
+        screen.DrawImage(ebitenImage, op)
+
+        return nil
+}
+
+func main() {
+        var err error
+        // Specifying filter on NewImage(FromImage) is just for backward compatibility.
+        // Now specifying filter at DrawImageOptions is recommended.
+        // Specify FilterDefault here, that means to prefer filter specified at DrawImageOptions.
+        ebitenImage, _, err = ebitenutil.NewImageFromFile("_resources/images/ebiten.png", ebiten.FilterDefault)
+        if err != nil {
+                log.Fatal(err)
+        }
+        if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Filter (Ebiten Demo)"); err != nil {
+                log.Fatal(err)
+        }
+}
+
+ +
+ + + + + diff --git a/docs/images/examples/filter.png b/docs/images/examples/filter.png new file mode 100644 index 000000000..69cf3abf9 Binary files /dev/null and b/docs/images/examples/filter.png differ diff --git a/docs/index.html b/docs/index.html index 02c3a00b4..b1c91f21a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -72,6 +72,8 @@
Ebiten example: alphablending +
+ Ebiten example: filter
Ebiten example: flood