Ich entwickle eine App, die sich mit Bildern beschäftigt und Filter, Rahmen usw. auf das Bild anwendet. (Wie Bildbearbeitungs-App).Anwenden von Effekten auf HD-Bilder
Ich habe Probleme beim Anwenden von Filtern oder Rahmen auf HD-Bilder (da die Bilder von unterschiedlicher Größe und Auflösung sein werden).
Meine Frage ist, wie ich Filter anwenden, ohne die Größe oder Dimension des Bildes zu ändern. Bitte helfen Sie diesbezüglich, Vielen Dank im Voraus.
Wie ich im Kommentarabschnitt des Codes erwähnt habe, gibt getDrawingCache für kleinere Bilder einen Wert zurück, aber für größere Bilder gibt es null zurück.
public Bitmap getBorderAppliedBitmap(PorterShapeImageView imgView , GPUImage gpuImage)
{
Bitmap bmp = gpuImage.getBitmapWithFilterApplied();
imgView.setImageBitmap(bmp);
imgView.setDrawingCacheEnabled(true);
imgView.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
imgView.layout(0, 0,
imgView.getMeasuredWidth(), imgView.getMeasuredHeight());
imgView.buildDrawingCache(true);
Bitmap bmap = Bitmap.createBitmap(imgView.getDrawingCache());
<!-- getting null from the method imgView.getDraingCache() only for the bigger size Images -->
imgView.setDrawingCacheEnabled(false);
return bmap;
}
Posten Sie etwas von Ihrem Arbeitscode. Seien Sie spezifisch mit Ihrem Problem. –