diff --git a/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt b/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt index d59709fd..897bfc97 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt @@ -5,6 +5,9 @@ import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent import android.content.res.Resources +import android.graphics.Bitmap +import android.graphics.Canvas +import android.graphics.Color import android.net.Uri import android.util.TypedValue import android.view.View @@ -25,6 +28,7 @@ import net.pokeranalytics.android.util.DeviceUtils import net.pokeranalytics.android.util.TextFormat import net.pokeranalytics.android.util.URL import net.pokeranalytics.android.util.billing.AppGuard +import java.io.ByteArrayOutputStream import java.io.File @@ -171,4 +175,23 @@ fun SearchView.removeMargins() { layoutParams?.leftMargin = 0 layoutParams?.rightMargin = 0 searchEditFrame?.layoutParams = layoutParams +} + +fun View.toByteArray() : ByteArray { + + val bitmap = this.convertToBitmap() + val stream = ByteArrayOutputStream() + bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream) + return stream.toByteArray() +} + +fun View.convertToBitmap(): Bitmap { + val measureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED) + measure(measureSpec, measureSpec) + layout(0, 0, measuredWidth, measuredHeight) + val r = Bitmap.createBitmap(measuredWidth, measuredHeight, Bitmap.Config.ARGB_8888) + r.eraseColor(Color.TRANSPARENT) + val canvas = Canvas(r) + draw(canvas) + return r } \ No newline at end of file