If you don't want an extension then you can use ImageMagick if it is installed on the server, then you can run ImageMagick's commands (convert, mogrify, etc.) directly with exec() in php. Many hosts have ImageMagick installed, some don't. There's also Imagick php extension for using ImageMagick so that is also an option if it's installed.
I always use ImageMagick for image resizing and manipulation in php - in comparison with GD it creates better quality images, has more features, it's faster and doesn't choke on large images. Nowadays so many hosts offer ImageMagick that it's not a problem at all - unless you want to make a distributed library for others to download and it needs to work on as many platforms as possible.