Autore Topic: Problemi con ruotare file jpeg  (Letto 671 volte)

Offline fieraf

  • Utente junior
  • **
  • Post: 88
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s 2
  • Sistema operativo:
    windows 7
Problemi con ruotare file jpeg
« il: 28 Giugno 2012, 10:53:39 CEST »
0
ciao ragazzi.
potrete dirmi come si fa a ruotare un file jpeg?
ho visto :http://stackoverflow.com/questions/706665/lossless-jpeg-rotate-90-180-270-degrees-in-java
ma non riesco a capire bene il codice:

Codice (Java): [Seleziona]
 Image rotatedImage = new BufferedImage(imageToRotate.getHeight(null), imageToRotate.getWidth(null), BufferedImage.TYPE_INT_ARGB);

    Graphics2D g2d = (Graphics2D) rotatedImage.getGraphics();
    g2d.rotate(Math.toRadians(90.0));
    g2d.drawImage(imageToRotate, 0, -rotatedImage.getWidth(null), null);
    g2d.dispose();

quando importo il codice, non riconosce Image e Graphics2D
Mi aiutate?

grazie.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problemi con ruotare file jpeg
« Risposta #1 il: 28 Giugno 2012, 11:07:34 CEST »
0
Non te lo riconosce perchè quello è un esempio Java. A te occorre un esempio per Android.

Prova a vedere questo: http://www.androidpeople.com/android-image-rotate-example
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline fieraf

  • Utente junior
  • **
  • Post: 88
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s 2
  • Sistema operativo:
    windows 7
Re:Problemi con ruotare file jpeg
« Risposta #2 il: 28 Giugno 2012, 11:22:57 CEST »
0
innanzitutto grazuie per la risposta.
ho modificato il codice dell'esempio in questo modo:

Codice (Java): [Seleziona]
                    private void ruota_img(){
                        Bitmap bmp = BitmapFactory.decodeFile(pathfoto);
                        // Getting width & height of the given image.
                        int w = bmp.getWidth();
                        int h = bmp.getHeight();
                        // Setting post rotate to 90
                        Matrix mtx = new Matrix();
                        mtx.postRotate(90);
                        // Rotating Bitmap
                        Bitmap rotatedBMP = Bitmap.createBitmap(bmp, 0, 0, w, h, mtx, true);
                        BitmapDrawable bmd = new BitmapDrawable(rotatedBMP);                   
                               
                    }

dove pathfoto é il percorso cpompleto della foto(file jpg).
per iniziare mi dice :BitmapDrawable bmd = new BitmapDrawable(rotatedBMP);   é deprecated e poi
mi da i seguenti errori:

Codice (Java): [Seleziona]
06-28 11:16:52.915: E/AndroidRuntime(10047): FATAL EXCEPTION: main
06-28 11:16:52.915: E/AndroidRuntime(10047): java.lang.OutOfMemoryError
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.graphics.Bitmap.nativeCreate(Native Method)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at gprev.android.CameraActivity.ruota_img(CameraActivity.java:460)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at gprev.android.CameraActivity.access$4(CameraActivity.java:451)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at gprev.android.CameraActivity$5.onClick(CameraActivity.java:106)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.view.View.performClick(View.java:3620)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.view.View$PerformClick.run(View.java:14292)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.os.Handler.handleCallback(Handler.java:605)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.os.Looper.loop(Looper.java:137)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at android.app.ActivityThread.main(ActivityThread.java:4507)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at java.lang.reflect.Method.invokeNative(Native Method)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at java.lang.reflect.Method.invoke(Method.java:511)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
06-28 11:16:52.915: E/AndroidRuntime(10047):    at dalvik.system.NativeStart.main(Native Method)

puoi aiutarmi?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problemi con ruotare file jpeg
« Risposta #3 il: 28 Giugno 2012, 11:32:55 CEST »
0
Forse la foto è troppo grande. Hai provato con un'immagine piccola?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline fieraf

  • Utente junior
  • **
  • Post: 88
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s 2
  • Sistema operativo:
    windows 7
Re:Problemi con ruotare file jpeg
« Risposta #4 il: 28 Giugno 2012, 11:43:01 CEST »
0
con una foto con risoluzione 640x440 non da errori,pero la foto non si gira

perché