welcome to WordPress Stack Exchange!
Personally I don’t like most of the gallery plugins out there, they’re either too bloated or don’t utilize the attachment/gallery functionality. I would use Jcarousel and jquery thickbox together – this you’ll have to have an understanding of implementing jquery and using enqueue_script.
After that there are two ways to do this. Have one page called portfolio or whatever you like and attach all images there. This is best if there isn’t a lot of individual content for each image. Then in your template call all the attachments using an attachment query.
<?php
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'title' => $attachment->post_title,
'post_parent' => $post->ID,
'description' => $attachment->post_content,
'orderby' => 'menu_order',
'order' => 'ASC'
);
$attachments = get_posts($args);
if ($attachments) {
foreach ($attachments as $attachment) {
echo wp_get_attachment_image($attachment->ID, $size="full", $attr="", false);
}
} ?>
Here you can call wp_get_attachement_image
and it gets the whole src of the image or you can use wp_get_attachment_url
to just get the image url and then add the rel=”thickbox” to your image href.
The other way of doing this is creating a custom post type. Then each individual post would have an attached image, description, etc and you could write a query to call all the posts into the jcarousel and then use the_post_thumbnail('your-custom-size)
to call each of the images posts in thumbnail size (thumbnail) and use the thickbox (full size) to make them larger.
I hope I haven’t confused you, as you didn’t state your level of knowledge of WordPress/coding.
For more on the_post_thumbnail
you can go here.
And for more on wp_get_attachment_url
you can read up here