Laden Sie diese App herunter!
https://play.google.com/store/apps/details?id=com.peenats.ayana.colorlens
Dies ist eine Bildbearbeitungs-App für Android. Es kann ein Foto wie ein CHEKI-Foto machen. Sie können Ihr Foto mit dem Farblinsenfilter, dem Fotorahmen und dem Gekritzel mit dem Finger dekorieren.
Ich verwende Java für diese App. Ich bin neu in der Java-Sprache. Deshalb habe ich mich als Herausforderung für ein Java-Projekt entschieden. Auf der I/O 2019 kündigte Google jedoch an, dass die Android-Entwicklung zunehmend auf Kotlin basieren werde. Deshalb habe ich beschlossen, das nächste Mal eine Android-App mit Kotlin zu erstellen. Auch Google I/O kündigte neues Android Jetpack an. Ich habe in diesem Projekt keine Funktion von Jetpack verwendet. Aber ich muss mich über alle Funktionen von Jetpack informieren.
✂︎Zuschneiden
Es wird von der SimpleCropView-Bibliothek implementiert. Ich habe einfach CropMode, FrameScale und ShowMode eingestellt. Es war super einfach zu bedienen und wunderschön! Das ist der Code.
mCropView = findViewById(R.id.cropImageView);
mCropView.setCropMode(CropImageView.CropMode.SQUARE);
mCropView.setInitialFrameScale(0.75f);
mCropView.setGuideShowMode(CropImageView.ShowMode.SHOW_ON_TOUCH);
?Farblinsenfilter
Dies ist die Hauptfunktion dieser App. Um den Farbfilter zu erstellen, habe ich eine RGBA-Matrix verwendet. Dies ist beispielsweise der Code zum Ändern der Farbe in Rot.
float[] red_colour_matrix = {
3f, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0
};
?Rahmen
Ich war besonders besorgt über diese Rahmen. Ich wollte diese Rahmen den echten CHEKI-Rahmen nahe bringen. Ich habe diese Rahmen mit Sketch erstellt. Dann habe ich sie für die gewünschte Dichte exportiert (1x, 1,5x, 2x, 3x, 4x). Dann habe ich sie auf jeden Dichteordner festgelegt. Das zeichnungsfähige Verzeichnis sieht wie im Bild unten aus.
?Gekritzel
Ich wollte eine Fotoeditor-App erstellen, mit der man mit dem Finger kritzeln kann. Die Umsetzung war nicht schwer, aber etwas kompliziert. Um mit dem Finger eine Linie auf dem Gerät zu zeichnen, musste ich die onTouchEvent-Methode überschreiben (sie kann drei Fingerbewegungen erkennen: nach unten, bewegen und nach oben). Ich habe den Pfad und die Farbe jedes Mal in ArrayList eingefügt, wenn ich ertrinke. Dann habe ich die onDraw-Methode überschrieben, um Pfade innerhalb von ArrayList auf Canvas zu zeichnen. Ich habe die onDraw-Methode jedes Mal aufgerufen, wenn ich jede Linie gezeichnet habe.
@Override
public boolean onTouchEvent( MotionEvent event) {
float x = event.getX();
float y = event.getY();
if (event.getAction() == MotionEvent.ACTION_DOWN) {
startPath(x, y);
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
updatePath(x, y);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
}
invalidate();
return true;
}
Gleiten
Diese App nutzt Glide, um Bilder schnell und effizient abzurufen.
SimpleCropView
Ich schneide ein Bild aus der Galerie zu und verwende diese Bibliothek. Der Grund, warum ich mich dafür entschieden habe, ist, dass diese Bibliothek eine einfache und schöne Ansicht hat. Außerdem ist es einfach zu bedienen.