From 60f5ce3cc1c64cb8673ba444c653b34598606b58 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 12 Feb 2018 15:55:45 +0100 Subject: [PATCH] Remove Pointers to Image Lib --- lib/Dither.dart | 18 ++++++++++++++++++ lib/dither.dart | 3 +++ pubspec.yaml | 1 - web/main.dart | 40 ++++++---------------------------------- 4 files changed, 27 insertions(+), 35 deletions(-) create mode 100644 lib/Dither.dart create mode 100644 lib/dither.dart diff --git a/lib/Dither.dart b/lib/Dither.dart new file mode 100644 index 0000000..6cc123f --- /dev/null +++ b/lib/Dither.dart @@ -0,0 +1,18 @@ +import 'dart:html'; + +class Dither { + static ImageData editImage(ImageData image) { + + +// image = contrast( image, 200); + + for (var y = 0; y < image.height; y++) { + for (var x = 0; x < image.width; x++) { +// print(image.getPixel(x, y)); + } + } + + return image; + } + +} diff --git a/lib/dither.dart b/lib/dither.dart new file mode 100644 index 0000000..7c5d5e3 --- /dev/null +++ b/lib/dither.dart @@ -0,0 +1,3 @@ +library dither; + +export 'Dither.dart'; \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 522ef38..02840b1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,7 +8,6 @@ environment: sdk: '>=1.20.1 <2.0.0' dependencies: - image: "^1.1.29" # path: ^1.4.1 dev_dependencies: diff --git a/web/main.dart b/web/main.dart index 23f277c..b9f9f47 100644 --- a/web/main.dart +++ b/web/main.dart @@ -1,56 +1,28 @@ import 'dart:html'; -import 'package:image/image.dart'; +import 'package:dart_floyd_steinberg_dithering/Dither.dart'; CanvasElement input; CanvasElement output; ImageElement inputImg; +ImageElement outputImg; void main() { inputImg = new ImageElement(src: 'kitten.jpg', width: 712, height: 470); input = document.querySelector('#input'); - print(input); - inputImg.onLoad.listen(imgLoaded); - output = document.querySelector('#output'); - output.context2D.fillRect(0, 0, output.width, output.height); + inputImg.onLoad.listen(imgLoaded); } void imgLoaded(Event e) { print("image loaded"); input.context2D.drawImage(inputImg, 0, 0); - Image outputImg = editImage( getImageFromCanvas(input) ); - - drawImageToCanvas(output, outputImg ) ; + output.context2D.putImageData( Dither.editImage( getImageData(input)), 0, 0); } -Image getImageFromCanvas(CanvasElement input) { - ImageData data = input.context2D.getImageData(0, 0, input.width, input.height); - return new Image.fromBytes(input.width, input.height, data.data); -} - -void drawImageToCanvas(CanvasElement canvas, Image image) { - var imageData = canvas.context2D.createImageData(image.width, image.height); - imageData.data.setRange(0, imageData.data.length, image.getBytes()); - - canvas.context2D.putImageData(imageData, 0, 0); -} - -Image editImage(Image image) { - - - image = contrast( image, 200); - - for (var y = 0; y < image.height; y++) { - for (var x = 0; x < image.width; x++) { -// print(image.getPixel(x, y)); - } - } - - - - return image; +ImageData getImageData(CanvasElement canvas) { + return canvas.context2D.getImageData(0, 0, canvas.width, canvas.height); } \ No newline at end of file