Hola,
Vayamos por partes. Para comprimir archivos en formato Zip cuentas con no pocos componentes para Delphi.
Estos resultados de una búsqueda en los Foros te proporcionarán información sobre algunos componentes que puedes utilizar para ese fin.
En cuanto a reducir el tamaño de un "bitmap"... tal vez podrías convertirlo al formato "JPG", o incluso a otros formatos, como "GIF". Para lo primero podrías utilizar la clase "TJPEGImage" que encontrarás definida en la unidad "Jpeg". Para lo segundo (así como para otros formatos) podrías acaso valerte de componentes como pudiera ser "
TGifImage" de Anders Melander.
En cuanto a generar el "bitmap" desde Delphi, pues tal vez podrías servirte de un "TPaintBox" (pestaña "System" de la paleta de componentes de Delphi) y utilizar los métodos conque cuentas en su propiedad "TCanvas" para dibujar lo que te fuera menester.