Val Town Code SearchReturn to Val Town

API Access

You can access search results via JSON API by adding format=json to your query:

https://codesearch.val.run/$%7Bart_info.art.src%7D?q=image&page=74&format=json

For typeahead suggestions, use the /typeahead endpoint:

https://codesearch.val.run/typeahead?q=image

Returns an array of strings in format "username" or "username/projectName"

Found 8465 results for "image"(808ms)

pdfREADME.md4 matches

@pro767Updated 1 week ago
16- Merge PDFs
17- Split PDF
18- PDF to Images
19- Images to PDF
20- Compress PDF
21- PDF Info
34### File Upload
35- Drag and drop support
36- Multiple file selection for merge/images-to-pdf
37- File type validation
38- File size display
43- **Rotate**: Angle selection and page targeting
44- **Protect**: Password input
45- **PDF to Images**: Format and quality selection
46
47### Processing

pdfREADME.md5 matches

@pro767Updated 1 week ago
19- **Response**: PDF file download or JSON error
20
21### POST /api/pdf/pdf-to-images
22Convert PDF pages to images (info only - actual conversion requires additional libraries).
23- **Body**: FormData with `file0` and `options`
24- **Options**: `{ format?: 'png'|'jpg', dpi?: number }`
25- **Response**: JSON with conversion info
26
27### POST /api/pdf/images-to-pdf
28Convert images to a PDF document.
29- **Body**: FormData with multiple image files
30- **Response**: PDF file download or JSON error
31

pdfpdf.ts17 matches

@pro767Updated 1 week ago
138});
139
140// PDF to Images (simplified - returns info about conversion)
141app.post("/pdf-to-images", async (c) => {
142 try {
143 const { files, options } = await parseFormData(c.req.raw);
150 const info = await getPDFInfo(pdfBytes);
151
152 // Note: Actual image conversion would require additional libraries like pdf2pic
153 // For now, we return information about what would be converted
154 return c.json({
165});
166
167// Images to PDF
168app.post("/images-to-pdf", async (c) => {
169 try {
170 const { files } = await parseFormData(c.req.raw);
171
172 if (files.length === 0) {
173 return c.json({ success: false, message: "At least one image file is required" });
174 }
175
177
178 for (const file of files) {
179 const imageBytes = new Uint8Array(await file.arrayBuffer());
180 let image;
181
182 if (file.type === 'image/png') {
183 image = await pdfDoc.embedPng(imageBytes);
184 } else if (file.type === 'image/jpeg' || file.type === 'image/jpg') {
185 image = await pdfDoc.embedJpg(imageBytes);
186 } else {
187 continue; // Skip unsupported formats
189
190 const page = pdfDoc.addPage();
191 const { width, height } = image.scale(1);
192
193 // Scale image to fit page
194 const pageWidth = page.getWidth();
195 const pageHeight = page.getHeight();
199 const scaledHeight = height * scale;
200
201 page.drawImage(image, {
202 x: (pageWidth - scaledWidth) / 2,
203 y: (pageHeight - scaledHeight) / 2,
212 headers: {
213 'Content-Type': 'application/pdf',
214 'Content-Disposition': 'attachment; filename="images.pdf"'
215 }
216 });
218 return c.json({
219 success: false,
220 message: error instanceof Error ? error.message : "Failed to create PDF from images"
221 });
222 }

pdfFileUpload.tsx10 matches

@pro767Updated 1 week ago
16 const fileInputRef = useRef<HTMLInputElement>(null);
17
18 const acceptedTypes = tool.type === 'images-to-pdf'
19 ? 'image/png,image/jpeg,image/jpg'
20 : 'application/pdf';
21
45 const handleFiles = (files: File[]) => {
46 const validFiles = files.filter(file => {
47 if (tool.type === 'images-to-pdf') {
48 return file.type.startsWith('image/');
49 }
50 return file.type === 'application/pdf';
189 );
190
191 case 'pdf-to-images':
192 return (
193 <div className="space-y-4">
236 ref={fileInputRef}
237 type="file"
238 multiple={tool.type === 'merge' || tool.type === 'images-to-pdf'}
239 accept={acceptedTypes}
240 onChange={handleFileSelect}
246 <div>
247 <p className="text-lg font-medium text-gray-900">
248 {tool.type === 'images-to-pdf' ? 'Drop images here or click to browse' : 'Drop PDF files here or click to browse'}
249 </p>
250 <p className="text-sm text-gray-500 mt-1">
251 {tool.type === 'merge' ? 'Select multiple PDF files to merge' :
252 tool.type === 'images-to-pdf' ? 'Supports PNG, JPG, JPEG formats' :
253 'Select a PDF file to process'}
254 </p>
313 <li>• Enter a password to protect the PDF</li>
314 )}
315 {tool.type === 'images-to-pdf' && (
316 <li>• Upload PNG, JPG, or JPEG image files</li>
317 )}
318 <li>• Maximum file size: 50MB per file</li>

pdfToolSelector.tsx6 matches

@pro767Updated 1 week ago
21 },
22 {
23 type: 'pdf-to-images',
24 name: 'PDF to Images',
25 description: 'Convert PDF pages to PNG or JPG images',
26 icon: '🖼️'
27 },
28 {
29 type: 'images-to-pdf',
30 name: 'Images to PDF',
31 description: 'Convert images to a PDF document',
32 icon: '📸'
33 },

pdfindex.html1 match

@pro767Updated 1 week ago
7 <script src="https://cdn.twind.style" crossorigin></script>
8 <script src="https://esm.town/v/std/catch"></script>
9 <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📄</text></svg>">
10 <style>
11 .file-drop-zone {

pdftypes.ts1 match

@pro767Updated 1 week ago
2
3export interface PDFOperation {
4 type: 'merge' | 'split' | 'pdf-to-images' | 'images-to-pdf' | 'compress' | 'info' | 'protect' | 'rotate';
5 name: string;
6 description: string;

pdfREADME.md3 matches

@pro767Updated 1 week ago
7- **PDF Merge**: Combine multiple PDF files into one
8- **PDF Split**: Extract specific pages or split into separate files
9- **PDF to Images**: Convert PDF pages to PNG/JPG images
10- **Images to PDF**: Convert images to PDF format
11- **PDF Compression**: Reduce PDF file size
12- **PDF Info**: View PDF metadata and page count
37
381. Select a PDF operation from the tool selector
392. Upload your PDF file(s) or images
403. Configure operation parameters
414. Process and download the result

sqliteExplorerAppREADME.md1 match

@argmnUpdated 1 week ago
3View and interact with your Val Town SQLite data. It's based off Steve's excellent [SQLite Admin](https://www.val.town/v/stevekrouse/sqlite_admin?v=46) val, adding the ability to run SQLite queries directly in the interface. This new version has a revised UI and that's heavily inspired by [LibSQL Studio](https://github.com/invisal/libsql-studio) by [invisal](https://github.com/invisal). This is now more an SPA, with tables, queries and results showing up on the same page.
4
5![image.webp](https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/c8e102fd-39ca-4bfb-372a-8d36daf43900/public)
6
7## Install

testPondiversemain3 matches

@argmnUpdated 1 week ago
3import getCreation from "./getCreation";
4import getCreationData from "./getCreationData";
5import getCreationImage from "./getCreationImage";
6import getCreations from "./getCreations";
7import updateTable from "./updateTable";
15 case "/get-creation":
16 return getCreation(req);
17 case "/get-creation-image":
18 return getCreationImage(req);
19 case "/get-creation-data":
20 return getCreationData(req);
placeholdji

placeholdji2 file matches

@jjgUpdated 2 days ago
Placeholder image service with emojis 🖼️

image_proxy

@oopsUpdated 1 week ago
Chrimage
Atiq
"Focal Lens with Atig Wazir" "Welcome to my photography journey! I'm Atiq Wazir, a passionate photographer capturing life's beauty one frame at a time. Explore my gallery for stunning images, behind-the-scenes stories, and tips & tricks to enhance your own