IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Accès inter-threads non valide et BitmapImage


Sujet :

Silverlight

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Par défaut Accès inter-threads non valide et BitmapImage
    Bonjour à vous tous,

    J'ai une méthode qui redimensionne des images à l'aide du contrôle RadUpload de telerick et lorsque je tente de téléverser sur mon server 3 ou 4 images, les dernières avortent (voir l'image ci-jointe) avec le message
    Accès inter-threads non valide
    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BitmapImage bmp = new BitmapImage();
    (voir en gras et italique dans le code qui suit).

    Par ailleurs, les premières images sont ok.

    J'ai lu ceci (http://stackoverflow.com/questions/1...d-access-issue) mais je ne vois pas comment traiter mon image différemment. Une idée serait appréciée. De plus, cela marche pour les premières images chargent mais plate pour la dernière (et en plus elle n'est pas redimensionnée).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    private void RadUploadPhotosEspaceClos_FileUploadStarting(object sender, Telerik.Windows.Controls.FileUploadStartingEventArgs e)
    {
    RadUploadSelectedFile file = e.SelectedFile as RadUploadSelectedFile;
    WriteableBitmap wb;
     
    // Redimensionner l'image
    using (Stream stream = file.File.OpenRead())
    {
        wb = ResizeImage(stream, 500); //resize the image to 500 pix
    }
     
    byte[] buffer;
    using (Stream Source = JpgEncoder.Encode(wb, 80))
    {
        int bufferSize = Convert.ToInt32(Source.Length);
        buffer = new byte[bufferSize];
        Source.Read(buffer, 0, bufferSize);
    }
     
    //NOTE: use the buffer to show the image...
    e.NewFileStream = new MemoryStream(buffer);
    }
     
    private WriteableBitmap ResizeImage(Stream stream, double targetSize)
    {
    BitmapImage bmp = new BitmapImage();
     
    bmp.SetSource(stream);
    System.Windows.Controls.Image img = new System.Windows.Controls.Image();
    img.Source = bmp;
    double scaleX = 1;
    double scaleY = 1;
     
    if (bmp.PixelHeight > targetSize)
        scaleY = targetSize / bmp.PixelHeight;
    if (bmp.PixelWidth > targetSize)
        scaleX = targetSize / bmp.PixelWidth;
     
     
    double scale = Math.Min(scaleY, scaleX);
     
    int newWidth = Convert.ToInt32(bmp.PixelWidth * scale);
    int newHeight = Convert.ToInt32(bmp.PixelHeight * scale);
    WriteableBitmap result = new WriteableBitmap(newWidth, newHeight);
    result.Render(img, new ScaleTransform() { ScaleX = scale, ScaleY = scale });
    result.Invalidate();
    return result;
    }
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/03/2014, 19h53
  2. Réponses: 2
    Dernier message: 29/08/2011, 09h17
  3. Opération inter-threads non valide VB.NET
    Par airemax dans le forum VB.NET
    Réponses: 2
    Dernier message: 01/05/2011, 11h51
  4. Opération inter-threads non valide
    Par nakk01 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/05/2009, 01h43
  5. Erreur : Opération inter-threads non valide
    Par cadeau dans le forum C++/CLI
    Réponses: 1
    Dernier message: 12/12/2006, 09h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo