fehler bild einfügen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

hi,
ich hab ein kleines problem. ich wollte zwei bilder einfügen. der rote ball verfolgt die maus und das andere bild ist der hintergrund. wenn ich das programm öffne sagt der mir das die bilder nicht gefunden werden konnten.
hier der quelltext:

Code: Alles auswählen

bgm ="vista.jpg"
mgm ="ball.png"
import pygame, sys
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode((640,360),0 ,32)

background = pygame.image.load(bgm).convert()
mouse_c = pygame.image.load(mgm).convert_alpha()

while True:
    for event in pygame.events.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

    screen.blit(background, ( 0,0) )

    x,y = pygame.mouse.get_pos()
    x -= mouse_c.get_width()/2
    y -= mouse_c.get_height()/2

    screen.blit(mouse_c,(x,y))

    pygame.display.update()
    
die bilder sind im selben ordener wie das dokument
danke im voraus
BlackJack

@woven88: Und von welchem Verzeichnis aus rufst Du das Programm auf?
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

die bilder sind auf dem desktop und das programm auch.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

woven88 hat geschrieben:die bilder sind auf dem desktop und das programm auch.
Die Frage zielte dahin, in welchem Ordner du dich befindest wenn du das Programm startest. Anders gefragt: Wie startest du das Programm?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ich rate mal: Mit einem Doppelklick.

Dann ist das Arbeitsverzeichnis nicht der Desktop, sondern (afaik) das Home-Verzeichnis.

Entweder du verwendest absolute Pfadnamen fuer deine Ressourcen, oder du nutzt

Code: Alles auswählen

path = os.path.dirname(os.path.abspath(__file__))
os.path.join(path, picture_path)
Wobei `picture_path` immernoch relativ zum Programm ist.
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

wenn ich das programm starte befinde ich mich auf dem desktop.und da sind auch die bilder.
ich hab´s auch schon mit nem vollständigen pfad versucht aber das hat auch net geklappt.
BlackJack

@woven88: Das kann eigentlich nicht sein. Wenn das Arbeitsverzeichnis dem Verzeichnis entspricht in dem die Dateien liegen oder absolute Pfade verwendet werden, dann werden die Dateien auch gefunden.

Wie sehen die jeweiligen Fehlermeldungen denn genau und komplett aus?
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

der fehler lautet:
couldn´t find vista.jpg
BlackJack

@woven88: Dann startest Du das Programm wohl aus dem falschen Verzeichnis heraus.
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

oh ne sorry,
der fehler lautet:
couldn´t open vista.jpg
BlackJack

@woven88: Ändert nicht viel am Problem. Entweder wird es nicht gefunden, oder Du hast nicht die nötigen Rechte um darauf zuzugreifen.
Zuletzt geändert von BlackJack am Samstag 16. Oktober 2010, 13:05, insgesamt 1-mal geändert.
Grund: (Nun Rede ich schon mit mir selber…)
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

ich hab alle rechte auf das bild zuzugreifen ich extra noch mal geguckt
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Könntest Du noch mal auf den Beitrag von Cofi bezüglich des Startens per "Doppelklick" genauer antworten? Startest Du das Script aus einer Shell heraus oder anders?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

wenn ich im quelltext bin dann drücke ich F5 um das programm zu starten.
dann öffnetr sich shell und das pygame window. in shell kommt dann ne fehlermeldung.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

woven88 hat geschrieben:wenn ich im quelltext bin dann drücke ich F5 um das programm zu starten.
dann öffnetr sich shell und das pygame window. in shell kommt dann ne fehlermeldung.
Da widersprichst Du Dir ja selber: http://www.python-forum.de/viewtopic.ph ... 06#p182406

Vergiss doch mal die IDE, die Du da verwendest. Starte das ganze mal aus einer Shell heraus. Wie das geht steht im wiki: http://wiki.python-forum.de/FAQ#Wie_sta ... Skripte.3F
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
woven88
User
Beiträge: 18
Registriert: Mittwoch 22. September 2010, 18:41

ok, das problem hat sich erledigt. es hatte nur was damit zu tun das die bilder aus dem internet waren. trotzdem danke
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

woven88 hat geschrieben:ok, das problem hat sich erledigt. es hatte nur was damit zu tun das die bilder aus dem internet waren. trotzdem danke
:?: Diese Schlussfolgerung halte ich für gelinde gesagt "wage"... :!:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Waren wohl dynamisch eingebunden und führten zu 404-Fehlern. Wäre zumindest meine Einschätzung.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Leonidas hat geschrieben:Waren wohl dynamisch eingebunden und führten zu 404-Fehlern. Wäre zumindest meine Einschätzung.
Ach so, kann Windows so etwas? Also Bilder auf dem Desktop ablegen, die als Ressource im Netz liegen? Das wußte ich nicht...

Allerdings ist es dann ja merkwürdig, dass diese als normale Dateien im Filesystem auftauchen und die Berechtigungen stimmen (laut dem OP zumindest).
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hyperion hat geschrieben:
Leonidas hat geschrieben:Waren wohl dynamisch eingebunden und führten zu 404-Fehlern. Wäre zumindest meine Einschätzung.
Ach so, kann Windows so etwas? Also Bilder auf dem Desktop ablegen, die als Ressource im Netz liegen? Das wußte ich nicht...
Och, die langen auf dem Desktop? Hab ich wohl überlesen. Aber vielleicht kann dieser Windows 98 ActiveDesktop sowas, wer weiß.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten