Famous Artwork Analysis Generator

Famous Artwork Analysis Generator

1. Artwork Metadata

2. Formal Elements (Description)

3. Context and Interpretation

Configure details in the Data Configuration tab and click "Generate Analysis Report" to see the full document here.

' + p.trim() + '

'; }).join(''); } var generateAnalysis = function() { var data = { title: titleInput.value || "[Artwork Title]", artist: artistInput.value || "[Artist Name]", date: dateInput.value || "[Date Created]", medium: mediumInput.value || "[Medium]", location: locationInput.value || "[Location]", line: formalLineInput.value, color: formalColorInput.value, comp: formalCompInput.value, context: contextInput.value, interpretation: interpretationInput.value, keywords: keywordsInput.value.split(',').map(function(k) { return k.trim(); }).filter(function(k) { return k; }).join(', ') }; if (!data.title) { analysisContentDiv.innerHTML = `

Error: Please enter the Title of the Artwork in the Data Configuration tab.

`; return; } var metadataTableHtml = ` `; var analysisHtml = `

${data.title.toUpperCase()}

A Visual Analysis by [Your Name] | Date: ${new Date().toLocaleDateString()}

1. Context & Metadata
${metadataTableHtml}
2. Formal Elements (Description)
Line, Shape, and Movement

${data.line}

Color, Light, and Palette

${data.color}

Composition and Spatial Depth

${data.comp}

3. Historical & Interpretive Analysis
Historical/Cultural Context

${data.context}

Interpretation and Meaning

${data.interpretation}

Key Concepts/Keywords

Keywords: ${data.keywords || 'N/A'}

`; analysisContentDiv.innerHTML = analysisHtml; }; generateBtn.addEventListener("click", function() { generateAnalysis(); showTab(1); // Switch to Dashboard }); // --- PDF Download --- pdfBtn.addEventListener("click", function() { var jsPDF = window.jspdf.jsPDF; var titleSlug = titleInput.value.replace(/[^a-zA-Z0-9\s]/g, '').replace(/\s/g, '_').substring(0, 30) || 'Artwork_Analysis'; var fileName = `${titleSlug}.pdf`; html2canvas(exportArea, { scale: 2, useCORS: true, backgroundColor: '#ffffff' }).then(function(canvas) { var imgData = canvas.toDataURL('image/png'); var doc = new jsPDF({ orientation: 'p', unit: 'pt', format: 'letter' }); var pdfWidth = doc.internal.pageSize.getWidth(); var pdfHeight = doc.internal.pageSize.getHeight(); var imgProps = doc.getImageProperties(imgData); var imgWidth = imgProps.width; var imgHeight = imgProps.height; var margin = 40; var usableWidth = pdfWidth - (2 * margin); var ratio = usableWidth / imgWidth; var scaledHeight = imgHeight * ratio; if (scaledHeight > pdfHeight - (2 * margin)) { var pageHeight = pdfHeight - (2 * margin); var heightLeft = scaledHeight; var position = 0; while (heightLeft > 0) { doc.addImage(imgData, 'PNG', margin, position + margin, usableWidth, scaledHeight); heightLeft -= pageHeight; position -= pageHeight; if (heightLeft > 0) { doc.addPage(); } } } else { // Single page doc.addImage(imgData, 'PNG', margin, margin, usableWidth, scaledHeight); } doc.save(fileName); }).catch(function(err) { console.error("AAG PDF Error:", err); // alert("An error occurred while generating the PDF."); // Per spec }); }); // --- Initial Load --- generateAnalysis(); // Render initial sample content showTab(0); });
Scroll to Top