Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/GrinZero/meme-ai-generator
/ functions
Functions
363 in github.com/GrinZero/meme-ai-generator
⨍
Functions
363
◇
Types & classes
108
↓ 3 callers
Function
updateSelectionPosition
( selection: SelectionRegion, deltaX: number, deltaY: number, imageWidth: number, imageHeight: numbe
src/services/selectionManager.ts:131
↓ 3 callers
Function
updateSelectionSize
( selection: SelectionRegion, newBoundingBox: BoundingBox, imageWidth: number, imageHeight: number )
src/services/selectionManager.ts:182
↓ 3 callers
Function
validateApiKey
(apiKey: string)
src/services/configValidation.ts:21
↓ 3 callers
Function
validateNormalization
( imageData: ImageData, expectedSize: number = 240 )
src/services/emojiNormalizer.ts:271
↓ 2 callers
Method
blobToBase64
* 将 Blob 转换为 base64
src/services/aiSegmentationService.ts:435
↓ 2 callers
Function
blobToImage
* 将 Blob 转换为 HTMLImageElement
src/services/wechatBackgroundRemover.ts:49
↓ 2 callers
Function
buildOpenAIModelsUrl
(baseUrl: string)
src/services/modelListService.ts:144
↓ 2 callers
Function
buildSystemPrompt
()
src/services/promptBuilder.ts:34
↓ 2 callers
Function
cancelGeneration
()
src/services/aiService.ts:110
↓ 2 callers
Function
clampToImageBounds
( boundingBox: BoundingBox, imageWidth: number, imageHeight: number )
src/utils/geometry.ts:170
↓ 2 callers
Method
compressImage
压缩图片至指定大小
src/types/wechatStandardization.ts:265
↓ 2 callers
Function
createBinaryMask
( imageData: ImageData, backgroundColor: RGBAColor, tolerance: number )
src/services/imageSplitter.ts:137
↓ 2 callers
Function
createImageDataWithContent
( canvasWidth: number, canvasHeight: number, contentWidth: number, contentHeight: number )
src/services/emojiNormalizer.property.test.ts:38
↓ 2 callers
Function
createMinimalPNGBlob
* Helper: Create a minimal valid PNG blob * PNG files have a specific header signature
src/services/downloadService.test.ts:21
↓ 2 callers
Function
createTestImageData
( width: number, height: number, fillColor: { r: number; g: number; b: number; a: number } = { r: 255, g
src/services/emojiNormalizer.property.test.ts:20
↓ 2 callers
Function
cropWithPolygon
( imageData: ImageData, region: SegmentationRegion, padding: number = 0 )
src/services/polygonCropper.ts:131
↓ 2 callers
Function
detectHandle
* 检测点击位置的手柄类型
src/components/SelectionCanvas.tsx:143
↓ 2 callers
Method
detectPercentageCoordinates
* 智能检测坐标是否为百分比格式 * @param x X 坐标 * @param y Y 坐标 * @param imageWidth 图片宽度 * @param imageHeight 图片高度 * @returns 是否为百分比坐标
src/services/aiSegmentationService.ts:311
↓ 2 callers
Function
fileToBase64
* 将 File 转换为 base64 字符串
src/services/aiService.ts:68
↓ 2 callers
Function
findSeparators
( ratios: number[], threshold: number = 0.9, minWidth: number = 3 // 最小分隔线宽度 )
src/services/imageSplitter.ts:563
↓ 2 callers
Function
generateAppreciationGuide
( sourceImages: SourceImage[], prompt: string, apiConfig: APIConfig, onProgress?: ProgressCallback,
src/services/wechatStandardizationService.ts:365
↓ 2 callers
Function
generateAppreciationThanks
( sourceImages: SourceImage[], prompt: string, apiConfig: APIConfig, onProgress?: ProgressCallback,
src/services/wechatStandardizationService.ts:447
↓ 2 callers
Function
generateBanner
( sourceImages: SourceImage[], prompt: string, apiConfig: APIConfig, onProgress?: ProgressCallback,
src/services/wechatStandardizationService.ts:89
↓ 2 callers
Function
generateCover
( sourceImages: SourceImage[], prompt: string, apiConfig: APIConfig, onProgress?: ProgressCallback,
src/services/wechatStandardizationService.ts:174
↓ 2 callers
Function
generateIcon
( sourceImages: SourceImage[], prompt: string, apiConfig: APIConfig, onProgress?: ProgressCallback,
src/services/wechatStandardizationService.ts:270
↓ 2 callers
Function
generateId
()
src/store/useWeChatStandardizationStore.ts:38
↓ 2 callers
Function
generateId
()
src/store/useAppStore.ts:31
↓ 2 callers
Function
getErrorInfo
(type: AIErrorType)
src/services/errorHandler.ts:71
↓ 2 callers
Function
getImageDataFromImage
* 从 HTMLImageElement 获取 ImageData
src/services/wechatBackgroundRemover.ts:71
↓ 2 callers
Function
getMimeType
* 获取文件的 MIME 类型
src/services/aiService.ts:85
↓ 2 callers
Function
getSourceImageCount
()
src/store/useWeChatStandardizationStore.ts:647
↓ 2 callers
Function
getSystemPrompt
()
src/services/promptBuilder.ts:74
↓ 2 callers
Function
getUserFriendlyMessage
(error: unknown)
src/services/errorHandler.ts:113
↓ 2 callers
Function
handleStyleChange
(style: APIStyle)
src/components/ConfigPanel.tsx:121
↓ 2 callers
Function
isConfigComplete
(apiKey: string, baseUrl: string)
src/services/configValidation.ts:82
↓ 2 callers
Function
isPromptConfigValid
(config: PromptConfig)
src/services/promptBuilder.ts:66
↓ 2 callers
Method
loadImage
* 加载图片
src/services/aiSegmentationService.ts:417
↓ 2 callers
Function
movePolygonVertex
( selection: SelectionRegion, vertexIndex: number, newPosition: Point, imageWidth: number, imageHeig
src/services/selectionManager.ts:245
↓ 2 callers
Function
normalizeEmoji
( imageData: ImageData, _originalBoundingBox: BoundingBox, options: NormalizationOptions = {} )
src/services/emojiNormalizer.ts:149
↓ 2 callers
Function
polygonImageToCanvas
( polygon: Polygon, transform: CanvasTransform )
src/utils/geometry.ts:255
↓ 2 callers
Function
polygonSelectionArb
(imageWidth: number, imageHeight: number)
src/components/ManualSelectionPanel.property.test.ts:59
↓ 2 callers
Function
removeBackground
( imageBlob: Blob, options: BackgroundRemovalOptions = {} )
src/services/wechatBackgroundRemover.ts:371
↓ 2 callers
Function
removeBackgroundSimple
( imageData: ImageData, backgroundColor: RGBAColor, tolerance: number = 30 )
src/services/imageSplitter.ts:813
↓ 2 callers
Function
simpleBackgroundRemoval
* 简单背景移除(基于 Flood Fill 算法)
src/services/wechatBackgroundRemover.ts:348
↓ 2 callers
Function
splitByGrid
( imageData: ImageData, config: GridSplitConfig )
src/services/imageSplitter.ts:466
↓ 2 callers
Function
triggerFileDownload
(blob: Blob, fileName: string)
src/services/wechatFileService.ts:201
↓ 2 callers
Function
validateGridUniformity
( separators: number[], totalLength: number )
src/services/imageSplitter.ts:603
↓ 2 callers
Function
validateImageFormat
(file: File)
src/services/wechatFileService.ts:30
↓ 1 callers
Function
advancedBackgroundRemoval
* 使用 @imgly/background-removal 进行高级背景移除
src/services/wechatBackgroundRemover.ts:332
↓ 1 callers
Function
applyPolygonMask
* 应用多边形遮罩到缩略图
src/components/SelectionList.tsx:115
↓ 1 callers
Function
boundingBoxArb
(imageWidth: number, imageHeight: number)
src/components/ManualSelectionPanel.property.test.ts:39
↓ 1 callers
Function
boundingBoxDistance
(a: BoundingBox, b: BoundingBox)
src/services/imageSplitter.ts:302
↓ 1 callers
Function
boundingBoxToPolygon
(box: BoundingBox)
src/services/coordinateUtils.ts:85
↓ 1 callers
Function
buildRegenerationPrompt
( languagePreference: string, editPrompt: string )
src/services/emojiRegeneration.ts:45
↓ 1 callers
Function
calculateCenterCropArea
* 计算居中裁剪的源区域 * 保持目标宽高比,从源图片中心裁剪
src/services/wechatImageProcessor.ts:67
↓ 1 callers
Function
calculateFitTransform
* 计算适应容器的初始缩放和偏移
src/components/SelectionCanvas.tsx:99
↓ 1 callers
Function
calculateResizedBox
* 计算调整大小后的边界框(纯函数,移到组件外部)
src/components/SelectionCanvas.tsx:239
↓ 1 callers
Function
calculateRetryDelay
( attempt: number, config: RetryConfig = DEFAULT_RETRY_CONFIG )
src/services/errorHandler.ts:188
↓ 1 callers
Method
callGeminiAPI
* 调用 Gemini API
src/services/aiSegmentationService.ts:517
↓ 1 callers
Method
callOpenAIAPI
* 调用 OpenAI API
src/services/aiSegmentationService.ts:550
↓ 1 callers
Function
cancelGeneration
()
src/services/wechatStandardizationService.ts:656
↓ 1 callers
Method
clear
* 清空历史
src/services/selectionManager.ts:475
↓ 1 callers
Function
clearError
()
src/components/StandardizationImageUploader.tsx:159
↓ 1 callers
Function
colorDistance
* 计算两个颜色之间的欧几里得距离
src/services/wechatBackgroundRemover.ts:103
↓ 1 callers
Method
compressImage
* 压缩图片(如果超过大小限制) * @param imageBlob 原始图片 * @returns 压缩后的图片
src/services/aiSegmentationService.ts:373
↓ 1 callers
Function
compressToAppreciationGuideLimit
(imageBlob: Blob)
src/services/wechatImageProcessor.ts:259
↓ 1 callers
Function
compressToAppreciationThanksLimit
(imageBlob: Blob)
src/services/wechatImageProcessor.ts:268
↓ 1 callers
Function
compressToBannerLimit
(imageBlob: Blob)
src/services/wechatImageProcessor.ts:232
↓ 1 callers
Function
compressToCoverLimit
(imageBlob: Blob)
src/services/wechatImageProcessor.ts:241
↓ 1 callers
Function
compressToIconLimit
(imageBlob: Blob)
src/services/wechatImageProcessor.ts:250
↓ 1 callers
Function
createMockLocalStorage
()
src/store/useAppStore.test.ts:15
↓ 1 callers
Function
createStandardizationZip
(images: { banner: ProcessedImage | null; cover: ProcessedImage | null; icon: ProcessedImage | null; a
src/services/wechatFileService.ts:135
↓ 1 callers
Function
detectBackgroundColor
* 采样图片四角像素,检测背景色
src/services/wechatBackgroundRemover.ts:121
↓ 1 callers
Function
detectBackgroundColorFromEdges
* 从图片边缘采样检测背景色 * 比四角采样更准确,适用于用户手动框选的区域 * 忽略透明像素,只采样不透明的像素
src/services/regionExtractor.ts:161
↓ 1 callers
Function
detectGrid
( imageData: ImageData, config: { tolerance?: number; minCells?: number; maxCells?: number;
src/services/imageSplitter.ts:507
↓ 1 callers
Function
downloadAllEmojis
( emojis: ExtractedEmoji[], zipFileName: string = 'emoji_pack', options: DownloadOptions = {} )
src/services/downloadService.ts:145
↓ 1 callers
Function
downloadProcessedImage
(image: ProcessedImage)
src/services/wechatFileService.ts:217
↓ 1 callers
Function
downloadSingleEmoji
( emoji: ExtractedEmoji, index: number = 1, options: DownloadOptions = {} )
src/services/downloadService.ts:119
↓ 1 callers
Function
downloadStandardizationZip
(images: { banner: ProcessedImage | null; cover: ProcessedImage | null; icon: ProcessedImage | null; a
src/services/wechatFileService.ts:229
↓ 1 callers
Function
drawDimensionLabel
* 绘制尺寸标签
src/components/SelectionCanvas.tsx:982
↓ 1 callers
Function
drawResizeHandles
* 绘制调整手柄
src/components/SelectionCanvas.tsx:948
↓ 1 callers
Function
drawSelection
* 绘制选区
src/components/SelectionCanvas.tsx:895
↓ 1 callers
Function
emojiToUploadedImage
* 将 ExtractedEmoji 转换为 UploadedImage 格式
src/services/emojiRegeneration.ts:68
↓ 1 callers
Function
extractEmoji
( imageData: ImageData, boundingBox: BoundingBox, options: { /** 是否使用 AI 背景移除(不推荐用于表情包) */ useAd
src/services/imageSplitter.ts:1078
↓ 1 callers
Function
extractEmojisFromRegions
( imageData: ImageData, regions: SegmentationRegion[], options: { padding?: number; } = {} )
src/services/polygonCropper.ts:224
↓ 1 callers
Function
extractPolygonRegion
( imageData: ImageData, polygon: Polygon, boundingBox: BoundingBox, options: RegionExtractionOptions =
src/services/regionExtractor.ts:91
↓ 1 callers
Function
extractRectangleRegion
( imageData: ImageData, boundingBox: BoundingBox, options: RegionExtractionOptions = {} )
src/services/regionExtractor.ts:52
↓ 1 callers
Function
extractSelectionToEmoji
( imageData: ImageData, selection: SelectionRegion, options: RegionExtractionOptions = {} )
src/services/regionExtractor.ts:297
↓ 1 callers
Function
fetchGeminiModels
* 从 Gemini API 获取模型列表
src/services/modelListService.ts:182
↓ 1 callers
Function
fetchImageFromUrl
* 从 URL 获取图片 Blob
src/services/aiService.ts:221
↓ 1 callers
Function
fetchOpenAIModels
* 从 OpenAI 风格 API 获取模型列表
src/services/modelListService.ts:224
↓ 1 callers
Function
fileToDataUrl
* 将图片文件转换为 data URL
src/services/aiService.ts:232
↓ 1 callers
Function
floodFill
(startX: number, startY: number, label: number)
src/services/imageSplitter.ts:188
↓ 1 callers
Function
floodFillFrom
(startPoints: { x: number; y: number }[])
src/services/imageSplitter.ts:906
↓ 1 callers
Function
floodFillFrom
(startPoints: { x: number; y: number }[])
src/services/wechatBackgroundRemover.ts:215
↓ 1 callers
Function
formatSize
(selection: SelectionRegion)
src/components/SelectionList.tsx:242
↓ 1 callers
Function
generateAll
( sourceImages: SourceImage[], prompts: StandardizationPrompts, apiConfig: APIConfig, onProgress?: Pro
src/services/wechatStandardizationService.ts:530
↓ 1 callers
Function
generateId
()
src/store/useSelectionStore.ts:16
↓ 1 callers
Function
generateId
()
src/services/emojiRegeneration.ts:80
↓ 1 callers
Function
generateId
()
src/services/regionExtractor.ts:22
← previous
next →
101–200 of 363, ranked by callers