¿Que tipo de imagen tienes cargada en Image1? Si no es un bitmap la propiedad Bitmap estara vacia. Me explico, si tienes cargada un jpg, al ejecutar esta instruccion:
Código Delphi
[-]
temporal.Assign(self.Image1.Picture.bitmap);
estas asignando un bitmap vacio. Una posible solucion seria esta:
Código Delphi
[-]
temporal.Assign(Image1.Picture.Graphic);
pero atencion, esto solo sirve si la imagen es un bitmap o un jpg, si es un icono por ejemplo no serviria. Date una vuelta por la seccion trucos, encontraras un par dedicados a la conversion ente formatos graficos, y esta mal que lo diga yo, pero funcionan de maravilla
PD: Recuerda que debes eliminar todos los objetos que creas en tiempo de ejecucion.